簡體   English   中英

Joomla K2 Extra Fields:差異顯示

[英]Joomla K2 Extra Fields: Differentiated Display

我目前正在嘗試調整item.php文件,使其分別顯示額外的字段,而不是顯示在組中。 我在這里和那里發現了som代碼段,但實際上並沒有幫助,因為我認為它們可能已過時。

例如:此頁面: http : //steffenjungersen.moloch.dk/nugent-be-goode

我希望在粗體介紹文字下方的項目頂部顯示“信息”。 另外,我希望“ Karakter”(下拉菜單額外字段)顯示為1-6的星星

使用我為這些額外字段指定的類別名稱,我在item.php中為“ Karakter”提出了一個方案:

<?php if(isset($this->item->extra_fields[rating]) && ($this->item->extra_fields[rating] >= 0 || $this->item->extra_fields[rating] <=6)): ?>
<span class="starsbox stars<?php echo $this->item->extra_fields[rating]; ?>"></span>
<?php endif; ?>

然后在我的k2.css文件中:

.starsbox {
width: 96px;
height: 16px;
display: inline-block;
background: url(images/stars.png) no-repeat;
}

.stars6 {
background-position: 0px 0px;
}
.stars5 {
background-position: -16px 0px; 
}
...etc

那沒用。

同樣,我嘗試將“ Info”字段調用到一個獨立的位置並將其放在頂部。 沒有反應。

所以我刪除了整個item-> extra_fields作為$ key => $ extraField):?>塊,然后多余的字段就消失了。

有人可以在這里指出正確的方向嗎?

謝謝 :-)

好的。 我從朋友那里得到了一些幫助。 這就是它帶給我們的距離(如果有人想知道的話)。

為了獨立顯示額外的字段,您需要將它們拆分。 因此,將item.php中的“ foreach ...”行替換為:

  <!-- START: Call to prepare extra fields -->
<?php  
//convertArray to use ids as key
$extrafields = array();
foreach($this->item->extra_fields as $item)
{    
$extrafields[$item->id] = $item->value;
}   
?>    
<!-- END: Call to prepare extra fields -->

然后,調用您需要的額外字段,請執行以下操作:

<?php if(isset($extrafields[X]) === true):?>
<?php echo $extrafields[X]; ?>
 <?php endif; ?>

其中X是額外字段的數字ID。

現在來了有趣的部分。 我想為我的音樂記者客戶創建1-6星評級系統。 他應該能夠從下拉菜單中選擇一個評分,並且該值應在項目視圖中顯示為星號。

我決定使用K2附帶的基於CSS和Sprite的文章評分系統-然后我可以“回收”漂亮的星形圖像和已經創建的CSS。

這是它的外觀:

<?php if(isset($extrafields[3]) === true):?>
<ul class="itemRatingList">
<li class="itemCurrentRating" id="itemCurrentRating<?php echo $this->item->id; ?>" style="width:<?php echo round($extrafields[3]*100/6); ?>%;"></li>
<li><?php if(isset($extrafields[3]) == 1):?><a href="#" title="<?php echo JText::_('K2_1_STAR_OUT_OF_5'); ?>" class="one-star">1</a></li><?php endif; ?>
<li><?php if(isset($extrafields[3]) == 2):?><a href="#" title="<?php echo JText::_('K2_2_STARS_OUT_OF_5'); ?>" class="two-stars">2</a></li><?php endif; ?>
<li><?php if(isset($extrafields[3]) == 3):?><a href="#" title="<?php echo JText::_('K2_3_STARS_OUT_OF_5'); ?>" class="three-stars">3</a></li><?php endif; ?>
<li><?php if(isset($extrafields[3]) == 4):?><a href="#" title="<?php echo JText::_('K2_4_STARS_OUT_OF_5'); ?>" class="four-stars">4</a></li><?php endif; ?>
<li><?php if(isset($extrafields[3]) == 5):?><a href="#" title="<?php echo JText::_('K2_5_STARS_OUT_OF_5'); ?>" class="five-stars">5</a></li><?php endif; ?>
<li><?php if(isset($extrafields[3]) == 6):?><a href="#" title="<?php echo JText::_('K2_6_STARS_OUT_OF_5'); ?>" class="six-stars">6</a></li><?php endif; ?>
</ul>
<?php endif; ?>

當我可以輕松解決問題時,我會考慮用span或其他內容替換a標簽。 而且我可能會修正文本問題。 但是現在可以了。

最好的祝福,

阿斯特麗德

暫無
暫無

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

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