[英]Can I show a list of contacts within category, on the 'List all contact categories' page in Joomla?
簡而言之,在Joomla中顯示聯系人有兩個選擇:
我想使用第一個選項,但在每個類別下合並一個列表,以顯示該類別內的聯系人列表以及指向其個人資料的鏈接。
我想到的最簡單的方法是編輯com_contact / categories / default_items.php文件的模板替代
我找到了要顯示列表的位置,然后從“類別”視圖(生成聯系人列表)中復制並粘貼了代碼。
<ul>
<?php // Add list of contacts for each category
foreach ($this->items as $i => $item) : ?>
<li>
<a href="<?php echo JRoute::_(ContactHelperRoute::getContactRoute($item->slug, $item->catid)); ?>">
<?php echo $item->name; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
但是我假設我不能只是復制和粘貼,因為需要在$ this-> items中添加一個額外的節點。
目前,沒有列表被生成,只有<ul>
在foreach
循環之外..但是有趣的是,正在生成<li>
和<a>
IS。但是鏈接到我所在的當前頁面(可能是因為$item->slug
仍被視為類別)。
那么,對於在類別中如何引用聯系人的人,有人可以向我指出正確的方向嗎? 我所需要的只是名稱和子彈/ URL。
更新:我在同一文件(default_items.php)中看到了這一點,盡管我意識到它指的是子類別...這是在該類別中開始實際聯系的地方嗎?
<?php if (count($item->getChildren()) > 0) :?>
<div class="collapse fade" id="category-<?php echo $item->id;?>">
<?php
$this->items[$item->id] = $item->getChildren();
$this->parent = $item;
$this->maxLevelcat--;
echo $this->loadTemplate('items');
$this->parent = $item->getParent();
$this->maxLevelcat++;
?>
</div>
<?php endif; ?>
BUMP-有人對此有經驗嗎? 還是可以在查看類別時呼叫單個聯系人? 它們如何鏈接?
對於標簽<li...
之后的文件default_children.php
Category view
,添加代碼:
<?php
// Get Category Model data
$categoryModel = JModelLegacy::getInstance('Category', 'ContactModel', array('ignore_request' => true));
$categoryModel->setState('category.id', $child->id);
$categoryModel->setState('list.ordering', 'a.name');
$categoryModel->setState('list.direction', 'asc');
$categoryModel->setState('filter.published', 1);
$contacts = $categoryModel->getItems();
?>
對於“ Custom Fields
在以下代碼后添加:
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php');
foreach($contacts as $contactItem) {
$currentContFields[] = FieldsHelper::getFields('com_contact.contact', $contactItem, true);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.