Как показать помеченные элементы в макете блога категории

Я хочу создать элемент меню для тега, который показывает статьи, как в макете категории. Я попытался использовать эти типы элементов меню: «Компактный список отмеченных элементов», «Список всех тегов» и «Теги», но не повезло.

В соответствии с официальной документацией тегов контента , это кажется возможным.

  

После того, как у вас есть теги и некоторые помеченные элементы, вы можете отобразить их в   переднего конца несколькими способами.

     

По умолчанию Joomla! будут отображаться теги, встроенные в каждый элемент, который имеет   был помечен.   Вы можете отключить этот дисплей, изменив параметры. Вы можете управлять позиционированием этого дисплея с переопределением макета и   альтернативные макеты, и вы можете создать его с помощью css.

     

Вы можете создать ссылку меню, отображающую список тегов, со ссылками на тегированные теги для каждого тега.

     

> Вы можете создать ссылку меню, которая отображает список   помечены элементы для данного тега и отображаются либо в виде списка, либо в блоге   стиль.

     

Вы можете использовать один из модулей тэгов. Отобразятся популярные теги   связанный список тегов, которые имеют наиболее помеченные элементы. Аналогичный   В тегах будет отображаться список элементов, имеющих аналогичный набор тегов для   отображаемый в данный момент элемент (обратите внимание, что этот модуль не отображается   на страницах, которые не показывают элементы контента).

8 голосов | спросил Alfredo Osorio 14 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 14 Sep 2015 01:24:51 +0300 2015, 01:24:51

2 ответа


7

Поскольку эта проблема, кажется, уже была задана несколько раз, и для этого пока нет хорошего ответа, я хотел бы попытаться предоставить свое решение со стороны переопределения шаблона. Этапы довольно сложны, но это должно быть легко.

Примечание. Я использую Joomla 3.4.4 и шаблон protostar при создании этого учебника

Сначала скопируйте эти файлы:

[root]/components/com_tags/views/tag/tmpl/default.php
[root]/components/com_tags/views/tag/tmpl/default.xml
[root]/components/com_tags/views/tag/tmpl/default_items.php

к

[root]/templates/your_template_name/html/com_tags/tag/default.php
[root]/templates/your_template_name/html/com_tags/tag/default.xml
[root]/templates/your_template_name/html/com_tags/tag/default_items.php

замените имена файлов на что-то, что вам нравится, например «taggedblog», поэтому он станет следующим:

[root]/templates/your_template_name/html/com_tags/tag/taggedblog.php
[root]/templates/your_template_name/html/com_tags/tag/taggedblog.xml
[root]/templates/your_template_name/html/com_tags/tag/taggedblog_items.php

Откройте файл [root] /templates/your_template_name/html/com_tags/tag/taggedblog.xml в верхней части файла, вы увидите этот код:

<layout title="com_tags_tag_view_default_title" option="com_tags_tag_view_default_option">

измените это на

<layout title="Tagged Blog" option="taggedblog">

В этот момент вы должны увидеть новый тип элемента меню Tagged Blog при создании нового элемента меню из вашего менеджера меню. Смотрите это изображение ниже

 Новый пункт меню блогов

Теперь откройте файл [root] /templates/your_template_name/html/com_tags/tag/taggedblog_items.php

в строках 62 удалите этот код:

<ul class="category list-striped">

и закрывающий тег </ul> на линиях 90

, то, все еще в том же файле, удалите эти коды, запущенные в строках 64:

<?php if ($item->core_state == 0) : ?>
                <li class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
            <?php else: ?>
                <li class="cat-list-row<?php echo $i % 2; ?> clearfix" >

<?php endif; ?>

Затем добавьте <div class="span5"> в 64 строки после кода <?php foreach ($items as $i => $item) : ?> и добавить закрытие </div> перед <?php endforeach; ?>

Далее, строки arround 77 перед кодом <?php if ($this->params->get('tag_list_show_item_description', 1)) : ?> добавить этот код:

<?php
    $db = JFactory::getDBO();
    $query = $db->getQuery(true);
    $query->select('introtext')->from('#__content')->where('id=' . (int)$item->content_item_id);
    $db->setQuery($query);
    //displaying the intro image
    $images  = json_decode($item->core_images);
    if(!empty($images->image_intro)) {
        echo '<img src="'.$images->image_intro.'">';
    }
    //displaying the intro text
    $introtext = $db->loadResult();
    echo $introtext;

    ?>

На этом этапе на веб-сайте должно быть отображено introtext и intro.

Теперь откройте файл [root] /templates/your_template_name/html/com_tags/tag/taggedblog.php , вокруг строк 51 вы увидите этот код <?php echo $this->loadTemplate('items'); ?>, измените эту строку на:

<div class="row"><?php echo $this->loadTemplate('items'); ?></div>

Вот и все.

Теперь попробуйте создать элемент меню с тегом Tagged Blog из диспетчера меню Joomla и увидеть результат.

Чтобы упростить задачу, я загрузил эти файлы выше в здесь . Получайте удовольствие!

ответил webchun 19 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 19 Sep 2015 08:46:18 +0300 2015, 08:46:18
2

В настоящее время это невозможно. Самое близкое, что вы можете получить, это Tagged Items. В Joomla Forums есть статья о том, как добавить больше. http://forum.joomla.org/viewtopic.php?f=708&amp ; Т = 838191

В настоящее время это также запрос на ideas.joomla.org по адресу http://ideas.joomla.org/forums/84261-joomla-idea-pool/category/12057-content?query=category%20blog%20tagged%20items . Вы можете пойти и проголосовать за его включение.

ответил Lucinda Cage 15 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 15 Sep 2015 20:58:34 +0300 2015, 20:58:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132