簡體   English   中英

我可以在Joomla的“列出所有聯系人類別”頁面上顯示類別中的聯系人列表嗎?

[英]Can I show a list of contacts within category, on the 'List all contact categories' page in Joomla?

簡而言之,在Joomla中顯示聯系人有兩個選擇:

  1. 顯示所有Joomla聯系人類別。
  2. 在一個類別中顯示所有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.

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