[英]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'); ?> "<?php echo K2HelperUtilities::cleanHtml($item->title); ?>"">
<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!
你必須:
設置所有本機K2參數后,必須克隆默認的k2模板。 這樣做:
然后進入K2管理並將您設置的類別模板從默認更改為新名稱。 剛才你可以從模板覆蓋開始,但只能在模板/你的模板/ html / com_k2 / your-k2-template中。 您需要覆蓋的文件是類別視圖的category-item.php和單項視圖的item.php。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.