簡體   English   中英

joomla / k2 php模板覆蓋

[英]joomla/k2 php template overrides

經過幾個小時撞擊磚牆后真的需要一些幫助!

基本上我有一個在K2組件中制作的Joomla新聞頁面。 該頁面將有頂級故事,接下來的兩個,然后是接下來的四個,接下來的四個都有他們自己的類,所以他們的樣式可以不同的重點(像大多數新聞網站)。

因此,將有一行一列 - 主要新聞(項目圖像和文本在大約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>

就像我說的那樣,我試過讓這個模板起作用,但是無處可去!

你用錯誤的文件嘗試它! 此文件屬於Filtrify Module!

你必須:

  1. 設置為“默認”類別的模板
  2. 編輯K2原生類別設置,
  3. 編輯K2原生類別項目設置,
  4. 編輯K2原生項目設置,

設置所有本機K2參數后,必須克隆默認的k2模板。 這樣做:

  • 進入components / com_k2 / templates。
  • 在本地復制所有,你看到的內容。
  • 然后在您的templates / your-template / html文件夾中創建名為com_k2的文件夾。
  • 復制到所有內容,您從components / com_k2 / templates獲得的內容。
  • 然后復制名為“default”的文件夾並為它們指定自己的名稱。 這將是您的K2模板以進行覆蓋。

然后進入K2管理並將您設置的類別模板從默認更改為新名稱。 剛才你可以從模板覆蓋開始,但只能在模板/你的模板/ html / com_k2 / your-k2-template中。 您需要覆蓋的文件是類別視圖的category-item.php和單項視圖的item.php。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM