Шаблон joomla/k2 php переопределяет

Действительно нужна помощь после многих часов удара головой о кирпичную стену!

По сути, у меня есть страница Joomla News, созданная в компоненте K2. На странице будет размещена главная история, следующие две, затем следующие четыре и следующие четыре после этого со своим собственным классом, чтобы их можно было по-разному стилизовать для акцента (как большинство новостных сайтов).

Таким образом, будет один ряд из одного столбца - главные новости (с изображением элементов и текстом, отрезанным после примерно 150 слов с помощью "читать дальше"), вторая строка - два столбца - следующие две новости (с изображениями и текстом элементов, отрезанными после около 150 слов с надписью "читать дальше") третья строка - четыре столбца - следующие четыре новостные статьи (с изображениями и текстом элементов обрезано после примерно 150 слов с надписью "подробнее") четвертая строка - один столбец из восьми ссылок (без изображения просто название связано)

Это файл, который я пытаюсь изменить:

    <?php


// no direct access

defined('_JEXEC') or die;

$selectedFilters=$params->get('extraFieldsSelect'); //get selected fields in module params



?>

<div id="k2ModuleBox<?php echo $module->id; ?> k2FiltrifyContainer" class="k2Filtrify k2ItemsBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">

    <?php if($params->get('itemPreText')): ?>

    <p class="modulePretext"><?php echo $params->get('itemPreText'); ?></p>

    <?php endif; ?>



    <!--Filtrify Placeholder-->

    <div id="k2FiltrifyPlaceHolder"></div>



    <?php //set placeholder, if LEGEND is the selected callback method

    if($placeholder == 'legend'): ?>

        <!--Filtrify legend placeholder-->

        <div id="legend"><i><?php echo JText::_('K2_VIEWING_ALL'); ?></i></div>

    <?php endif; ?>



    <?php  //set placeholder, if PAGINATION is the selected callback method

    if($placeholder == 'pagination'): ?>

        <!--Filtrify pagination placeholder-->

        <div id="pagination"></div>

    <?php endif; ?>



    <?php if(count($items)): //Filtrify Container?>

      <ul id="k2FiltrifyContainer">

        <p>
          <?php foreach ($items as $keyItem=>$item):    ?>



            <?php

                // Define a CSS class for the last container on each row

                if( (($keyItem+1)%($params->get('num_columns'))==0) || count($items)<$params->get('num_columns') )

                    $lastContainer= ' itemContainerLast';

                else

                    $lastContainer='';

                ?>

          <li class="itemContainer<?php echo $lastContainer; ?>" <?php echo (count($items)==1) ? '' : ' style="width:'.number_format(100/$params->get('num_columns'), 1).'%;"'; ?>





          <?php 



          if( count($item->extra_fields) && $selectedFilters != ''): //check if there are extrafields and selected fields?>

                <?php foreach ($item->extra_fields as $key=>$extraField): //adding extrafields as data parameter?>

                    <?php if(in_array($extraField->id,(array)$selectedFilters, TRUE)) : ?>

                             data-<?php echo preg_replace("/[^A-Za-zA-yA-y0-9а-яА-Яa-zA-Z?-??-?sctzlldSCTZLD]/ui", "_", $extraField->name); ?>="<?php echo $extraField->value; //set the values, and remove special chars?>"

                    <?php endif; ?>

                <?php endforeach; ?>

            <?php endif; ?>





          <?php if($params->get('showCatFilter')==1): //check for param - show category filter?>

                data-<?php echo preg_replace("/[^A-Za-zA-yA-y0-9а-яА-Яá-źÁ-ŹΑ-Ωα-ωščťžľĺďŠČŤŽĹĎ]/ui", "_", JText::_('K2_CATEGORIES')); ?>="<?php echo $item->categoryname;?>"





            <?php endif; ?>



            <?php if($params->get('showTagFilter')==1): //check for param - show tag filter?>

                data-<?php echo preg_replace("/[^A-Za-zA-yA-y0-9а-яА-Яá-źÁ-ŹΑ-Ωα-ωščťžľĺďŠČŤŽĹĎ]/ui", "_", JText::_('K2_TAGS')); ?>="<?php foreach ($item->tags as $tag): ?><?php echo $tag->name; ?>, <?php endforeach; ?>"

            <?php endif; ?>



        >
        </p>
        <p>
          <?php if(isset($item->event->BeforeDisplay)): ?>

          <!-- Plugins: BeforeDisplay -->

          <?php echo $item->event->BeforeDisplay; ?>

          <?php endif; ?>





          <!-- K2 Plugins: K2BeforeDisplay -->

          <?php echo $item->event->K2BeforeDisplay; ?>



          <?php if($params->get('itemAuthorAvatar')): ?>

          <a class="k2Avatar moduleItemAuthorAvatar" rel="author" href="<?php echo $item->authorLink; ?>">

            <img src="<?php echo $item->authorAvatar; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($item->author); ?>" style="width:<?php echo $avatarWidth; ?>px;height:auto;" />

          </a>

          <?php endif; ?>



          <?php if($params->get('itemTitle')): ?>

          <a class="moduleItemTitle" href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a>

          <?php endif; ?>



          <?php if($params->get('itemAuthor')): ?>

        </p>
          <div class="moduleItemAuthor">

              <?php echo K2HelperUtilities::writtenBy($item->authorGender); ?>



                    <?php if(isset($item->authorLink)): ?>

                    <a rel="author" title="<?php echo K2HelperUtilities::cleanHtml($item->author); ?>" href="<?php echo $item->authorLink; ?>"><?php echo $item->author; ?></a>

                    <?php else: ?>

                    <?php echo $item->author; ?>

                    <?php endif; ?>



                    <?php if($params->get('userDescription')): ?>

                    <?php echo $item->authorDescription; ?>

                    <?php endif; ?>



                </div>

                <?php endif; ?>





            <?php if(isset($item->event->AfterDisplayTitle)): ?>

                 <!-- Plugins: AfterDisplayTitle -->

                 <?php echo $item->event->AfterDisplayTitle; ?>

            <?php endif; ?>



          <!-- K2 Plugins: K2AfterDisplayTitle -->

          <?php echo $item->event->K2AfterDisplayTitle; ?>





            <?php if(isset($item->event->BeforeDisplayContent)): ?>

              <!-- Plugins: BeforeDisplayContent -->

                <?php echo $item->event->BeforeDisplayContent; ?>

            <?php endif; ?>



          <!-- K2 Plugins: K2BeforeDisplayContent -->

          <?php echo $item->event->K2BeforeDisplayContent; ?>



          <?php if($params->get('itemImage') || $params->get('itemIntroText')): ?>

          <div class="moduleItemIntrotext">

              <?php if($params->get('itemImage') && isset($item->image)): ?>

              <a class="moduleItemImage" href="<?php echo $item->link; ?>" title="<?php echo JText::_('K2_CONTINUE_READING'); ?> &quot;<?php echo K2HelperUtilities::cleanHtml($item->title); ?>&quot;">

                <img src="<?php echo $item->image; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($item->title); ?>"/>

              </a>

              <?php endif; ?>



            <?php if($params->get('itemIntroText')): ?>

            <?php echo $item->introtext; ?>

            <?php endif; ?>

          </div>

          <?php endif; ?>

          <div class="clr"></div>



          <?php if($params->get('itemExtraFields') && count($item->extra_fields)): ?>

          <div class="moduleItemExtraFields">

              <b><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></b>

              <ul>

                <?php foreach ($item->extra_fields as $extraField): ?>

                        <?php if($extraField->value): ?>

                        <li class="type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">

                            <span class="moduleItemExtraFieldsLabel"><?php echo $extraField->name; ?></span>

                            <span class="moduleItemExtraFieldsValue"><?php echo $extraField->value; ?></span>

                            <div class="clr"></div>

                        </li>

                        <?php endif; ?>

                <?php endforeach; ?>

              </ul>

          </div>

          <?php endif; ?>



          <div class="clr"></div>



          <?php if($params->get('itemVideo')): ?>

          <div class="moduleItemVideo">

            <?php echo $item->video ; ?>

            <span class="moduleItemVideoCaption"><?php echo $item->video_caption ; ?></span>

            <span class="moduleItemVideoCredits"><?php echo $item->video_credits ; ?></span>

          </div>

          <?php endif; ?>



          <div class="clr"></div>





            <?php if(isset($item->event->AfterDisplayContent)): ?>

                  <!-- Plugins: AfterDisplayContent -->

                  <?php echo $item->event->AfterDisplayContent; ?>

            <?php endif; ?>



          <!-- K2 Plugins: K2AfterDisplayContent -->

          <?php echo $item->event->K2AfterDisplayContent; ?>



          <?php if($params->get('itemDateCreated')): ?>

          <span class="moduleItemDateCreated"><?php echo JText::_('K2_WRITTEN_ON') ; ?> <?php echo JHTML::_('date', $item->created, JText::_('K2_DATE_FORMAT_LC2')); ?></span>

          <?php endif; ?>



          <?php if($params->get('itemCategory')): ?>

          <?php echo JText::_('K2_IN') ; ?> <a class="moduleItemCategory" href="<?php echo $item->categoryLink; ?>"><?php echo $item->categoryname; ?></a>

          <?php endif; ?>



          <?php if($params->get('itemTags') && count($item->tags)>0): ?>

          <div class="moduleItemTags">

            <b><?php echo JText::_('K2_TAGS'); ?>:</b>

            <?php foreach ($item->tags as $tag): ?>

            <a href="<?php echo $tag->link; ?>"><?php echo $tag->name; ?></a>

            <?php endforeach; ?>

          </div>

          <?php endif; ?>



          <?php if($params->get('itemAttachments') && count($item->attachments)): ?>

                <div class="moduleAttachments">

                    <?php foreach ($item->attachments as $attachment): ?>

                    <a title="<?php echo K2HelperUtilities::cleanHtml($attachment->titleAttribute); ?>" href="<?php echo $attachment->link; ?>"><?php echo $attachment->title; ?></a>

                    <?php endforeach; ?>

                </div>

          <?php endif; ?>



                <?php if($params->get('itemCommentsCounter') && $componentParams->get('comments')): ?>      

                    <?php if(!empty($item->event->K2CommentsCounter)): ?>

                        <!-- K2 Plugins: K2CommentsCounter -->

                        <?php echo $item->event->K2CommentsCounter; ?>

                    <?php else: ?>

                        <?php if($item->numOfComments>0): ?>

                        <a class="moduleItemComments" href="<?php echo $item->link.'#itemCommentsAnchor'; ?>">

                            <?php echo $item->numOfComments; ?> <?php if($item->numOfComments>1) echo JText::_('K2_COMMENTS'); else echo JText::_('K2_COMMENT'); ?>

                        </a>

                        <?php else: ?>

                        <a class="moduleItemComments" href="<?php echo $item->link.'#itemCommentsAnchor'; ?>">

                            <?php echo JText::_('K2_BE_THE_FIRST_TO_COMMENT'); ?>

                        </a>

                        <?php endif; ?>

                    <?php endif; ?>

                <?php endif; ?>



                <?php if($params->get('itemHits')): ?>

                <span class="moduleItemHits">

                    <?php echo JText::_('K2_READ'); ?> <?php echo $item->hits; ?> <?php echo JText::_('K2_TIMES'); ?>

                </span>

                <?php endif; ?>



                <?php if($params->get('itemReadMore') && $item->fulltext): ?>

                <a class="moduleItemReadMore" href="<?php echo $item->link; ?>">

                    <?php echo JText::_('K2_READ_MORE'); ?>

                </a>

                <?php endif; ?>



            <?php if(isset($item->event->AfterDisplay)): ?>

                 <!-- Plugins: AfterDisplayContent -->

                 <?php echo $item->event->AfterDisplay; ?>

            <?php endif; ?>



          <!-- K2 Plugins: K2AfterDisplay -->

          <?php echo $item->event->K2AfterDisplay; ?>

          <div class="clr"></div>

        </li>



        <?php if((($keyItem+1)%($params->get('num_columns'))==0) && (($placeholder != 'pagination'))) : ?>

        <div class="clr"></div>

        <?php endif; ?>





        <?php endforeach; ?>



        <li class="clearList"></li>

      </ul>

  <?php endif; ?>



    <?php if($params->get('itemCustomLink')): ?>

    <a class="moduleCustomLink" href="<?php echo $params->get('itemCustomLinkURL'); ?>" title="<?php echo K2HelperUtilities::cleanHtml($itemCustomLinkTitle); ?>"><?php echo $itemCustomLinkTitle; ?></a>

    <?php endif; ?>



    <?php if($params->get('feed')): ?>

    <div class="k2FeedIcon">

        <a href="<?php echo JRoute::_('index.php?option=com_k2&view=itemlist&format=feed&moduleID='.$module->id); ?>" title="<?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?>">

            <span><?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?></span>

        </a>

        <div class="clr"></div>

    </div>

    <?php endif; ?>



</div>

Как я уже сказал, я пытался и пытался заставить этот шаблон работать, но не получил нигде!

1 ответ

Вы попробуйте это с неправильным файлом! Этот файл принадлежит Filtrify Module!

Вы должны:

  1. установить в качестве шаблона для категории "по умолчанию"
  2. редактировать настройки категории K2,
  3. изменить настройки элемента категории K2,
  4. редактировать настройки родного элемента K2,

После того, как вы установили все собственные параметры K2, вы должны клонировать ваш шаблон k2 по умолчанию. Сделай это так:

  • зайдите в компоненты /com_k2/templates.
  • Скопируйте все, что видите, локально.
  • Затем создайте в себе папку templates/your-template/html с именем com_k2.
  • Скопируйте в него все, что вы получили до этого из компонент /com_k2/templates.
  • Затем скопируйте папку с именем "default" и дайте им собственное имя. Это будет ваш шаблон K2 для переопределений.

Затем перейдите в администрирование K2 и измените шаблон вашей категории, который вы установили перед, с по умолчанию на новое имя. Только сейчас вы можете начать с переопределения шаблонов, но ТОЛЬКО внутри шаблонов / вашего шаблона /html/com_k2/your-k2-template. Файлы, которые вам нужно переопределить, это category-item.php для просмотра категорий и item.php для просмотра отдельных элементов.

Другие вопросы по тегам