1
我有,我只是想展現給登錄的用戶我的K2項目的一系列額外的字段。爲了增加更多的複雜性,我需要向一個用戶組顯示一個字段,向不同的用戶組顯示不同的字段。怎麼樣,我可以做到這一點?顯示的Joomla K2額外的字段只有特定用戶或組
我知道我可以做的模塊訪問級別檢查,但由於這些都是連接到K2項目額外的字段,我摸索一種方式來做到這一點。
我有,我只是想展現給登錄的用戶我的K2項目的一系列額外的字段。爲了增加更多的複雜性,我需要向一個用戶組顯示一個字段,向不同的用戶組顯示不同的字段。怎麼樣,我可以做到這一點?顯示的Joomla K2額外的字段只有特定用戶或組
我知道我可以做的模塊訪問級別檢查,但由於這些都是連接到K2項目額外的字段,我摸索一種方式來做到這一點。
我能做到這一點使用下面的代碼(以縮寫形式):
<?php $user = JFactory::getUser(); ?>
<?php if(!$user->guest): ?>
<!-- Prices -->
<div class="moduletable">
<h3 class="specs">Pricing</h3>
<?php
$none = true;
foreach ($this->item->extra_fields as $key=>$extraField) {
if($extraField->value && $extraField->name=='Price A' && in_array(25,$user->groups)) {
echo $extraField->value;
$none = false;
break;
}
elseif($extraField->value && $extraField->name=='Price B' && in_array(26,$user->groups)) {
echo $extraField->value;
$none = false;
break;
}
}
if ($none) echo '<br/><p>Coming Soon!</p>';
?>
</div>
<?php endif; ?>
基本上,我檢查,看看用戶是否登錄,然後運行通過額外的字段,看是否字段名稱爲「價格A」,並且用戶在用戶組「價格A」(ID = 25)中。如果它匹配,我輸出價格並繼續。如果不是,則對「價格B」執行相同的檢查。如果沒有分配額外的價格字段或者用戶沒有價格水平,我會給出鼓勵的消息! ;)
注意:必須確保你的主題調用其中的一項額外的領域有代碼,以防止這些額外的字段從顯示的內容,或者你可能顯示的內容向公衆中所有的K2模板。這可以包括您的com_k2/templates
文件夾中的任何PHP文件,其中您的K2設置指定要顯示的額外字段,或手動強制它們顯示在模板中的位置。