繁体   English   中英

使用自定义php更改Joomla文章列表的布局

[英]Change Layout of Joomla article list with custom php

花了几天的时间将我的头撞在砖墙上,我需要一些帮助。 我基本上想在这里更改代码:

<div class="itemList">

        <?php if(isset($this->leading) && count($this->leading)): ?>
        <!-- Leading items -->
        <div id="itemListLeading">
            <?php foreach($this->leading as $key=>$item): ?>

            <?php
            // Define a CSS class for the last container on each row
            if( (($key+1)%($this->params->get('num_leading_columns'))==0) || count($this->leading)<$this->params->get('num_leading_columns') )
                $lastContainer= ' itemContainerLast';
            else
                $lastContainer='';
            ?>

            <div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->leading)==1) ? '' : ' style="width:'.number_format(100/$this->params->get('num_leading_columns'), 1).'%;"'; ?>>
                <?php
                    // Load category_item.php by default
                    $this->item=$item;
                    echo $this->loadTemplate('item');
                ?>
            </div>
            <?php if(($key+1)%($this->params->get('num_leading_columns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>

        <?php if(isset($this->primary) && count($this->primary)): ?>
        <!-- Primary items -->
        <div id="itemListPrimary">
            <?php foreach($this->primary as $key=>$item): ?>

            <?php
            // Define a CSS class for the last container on each row
            if( (($key+1)%($this->params->get('num_primary_columns'))==0) || count($this->primary)<$this->params->get('num_primary_columns') )
                $lastContainer= ' itemContainerLast';
            else
                $lastContainer='';
            ?>

            <div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->primary)==1) ? '' : ' style="width:'.number_format(100/$this->params->get('num_primary_columns'), 1).'%;"'; ?>>
                <?php
                    // Load category_item.php by default
                    $this->item=$item;
                    echo $this->loadTemplate('item');
                ?>
            </div>
            <?php if(($key+1)%($this->params->get('num_primary_columns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>

        <?php if(isset($this->secondary) && count($this->secondary)): ?>
        <!-- Secondary items -->
        <div id="itemListSecondary">
            <?php foreach($this->secondary as $key=>$item): ?>

            <?php
            // Define a CSS class for the last container on each row
            if( (($key+1)%($this->params->get('num_secondary_columns'))==0) || count($this->secondary)<$this->params->get('num_secondary_columns') )
                $lastContainer= ' itemContainerLast';
            else
                $lastContainer='';
            ?>

            <div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->secondary)==1) ? '' : ' style="width:'.number_format(100/$this->params->get('num_secondary_columns'), 1).'%;"'; ?>>
                <?php
                    // Load category_item.php by default
                    $this->item=$item;
                    echo $this->loadTemplate('item');
                ?>
            </div>
            <?php if(($key+1)%($this->params->get('num_secondary_columns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>

        <?php if(isset($this->links) && count($this->links)): ?>
        <!-- Link items -->
        <div id="itemListLinks">
            <h4><?php echo JText::_('K2_MORE'); ?></h4>
            <?php foreach($this->links as $key=>$item): ?>

            <?php
            // Define a CSS class for the last container on each row
            if( (($key+1)%($this->params->get('num_links_columns'))==0) || count($this->links)<$this->params->get('num_links_columns') )
                $lastContainer= ' itemContainerLast';
            else
                $lastContainer='';
            ?>

            <div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->links)==1) ? '' : ' style="width:'.number_format(100/$this->params->get('num_links_columns'), 1).'%;"'; ?>>
                <?php
                    // Load category_item_links.php by default
                    $this->item=$item;
                    echo $this->loadTemplate('item_links');
                ?>
            </div>
            <?php if(($key+1)%($this->params->get('num_links_columns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>

    </div>

这样,“前导”显示一定数量的文章,然后“主要”显示接下来的两篇,“第二”显示接下来的四篇,依此类推。

任何有关如何做到这一点的帮助都将是很棒的

该文件位于此处:

/layouts/joomla/content/category_default.php

要覆盖它,请在此处放置副本:

[YOUR_TEMPLATE] / html / layouts / joomla / content /

您可以在此处阅读有关Joomla布局的更多信息:

使用JLayout在视图或扩展之间共享布局

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM