1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Как сделать вывод категорий, как на главной странице?

Тема в разделе "Для новичков", создана пользователем mizha, 16.02.2016.

Загрузка
  1. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Привет.
    Столкнулся с проблемой в создании категорий и разделов. Создал в дереве узлов Страницу. Потом создал категорию, которой задал в качестве родителя свою созданную страницу. Но когда я перехожу на свою страницу, то вместо обычного вида категорий (как на главной странице) мне выдаёт ссылку с названием моей категории. Как сделать, что бы нормально отображались категории? Помогите пожалуйста, уже несколько дней не знаю, что делать с этим.
    Что бы было яснее - хочу сделать на отдельной странице такой же вид форума как на первом изображении.
    Снимок.PNG Снимок1.PNG Снимок2.PNG
     
    Последнее редактирование: 16.02.2016
  2. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Страницы и раздел - это совершенно разные типы контента. И отображаются они совсем по другому.
     
  3. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Хорошо. Что мне надо создать для того, что бы получить тот результат который мне нужен?
     
  4. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Тогда начните с начала. Что Вам надо?
    Если хотите использовать категории и разделы, так это и после установки уже так и сделано. Если хотите сделать свою собственную страницу с выводом категорий, разделов, тем и так далее, то не получится. Страницы в XenForo предназначены для размещения статической информации типа страниц помощи или информации о форуме.
     
  5. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Мне надо свою страницу с выводом категорий, раздело, тем и т.д. Я так понял, Вы имеете ввиду, что не получится стандартным набором реализовать, да? Может есть уже готовые плагины которые это позволят сделать? Или надо самому садится за это дело и реализовывать?
     
  6. Aksim

    Aksim Местный

    Регистрация:
    15.09.12
    Сообщения:
    312
    Симпатии:
    89
    infis, уже ответил
    Страница и форум это разное, и я думаю что врят ли существует какой либо плагин, поскольку нет смысла делать какое то дополнение чтоб из велосипеда получились ролики.
    И зачем вообще создавать страницу для этого? В движке и так существуют разделы, форумы и подфорумы. страница нужна для того чтоб добавить в нее какой либо материал и где то разместить ссылку на эту страницу, вот и все. Разделов и подразделов в ней быть не может.
     
  7. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Возможно я задаю не правильно вопрос, Вы меня извините пожалуйста.
    Я например, хочу сделать в панели навигации ссылку допустим "Форум - 2" и при клике на эту ссылку у меня будет "как бы" переход на другой форум. Что бы там точно так же как и на "Форум" отображались категории и т.д. Потому что сейчас я сделал так что оно входит в категорию допустим "Авто" и в ней есть масса других категорий, но они отображаются как Разделы. Понимаете в чём суть? Т.е. на "Форум" категория выделена желтой полосой и т.д., а на "Форум - 2" у меня пишет просто название текущей категории и ниже идёт список Следующих категорий и они имеют вид раздела.

    Я ещё раз дико извиняюсь за возможно неправильную формулировку вопроса.
     
  8. Aksim

    Aksim Местный

    Регистрация:
    15.09.12
    Сообщения:
    312
    Симпатии:
    89
    Если я правильно понял, то единственным возможным решением тут будет настройка разделов категории в админке, нужно снять галочку в Отображать в списке узлов. тогда на главной странице форума этого раздела не будет видно, но он будет существовать и зная его адрес на него можно зайти. Этот самый адрес какразс таки можно поместить в тексте странички.
    Но опять же, настройки форума позволяют использовать достаточно много подкатегорий, и тогда в нужной Вам категории будут подразделы с вложенными в них подразделами. Да звучит немного не понятно :). Попробую объяснить наглядно:

    Безымянный.png

    Тое сть на главной странице будет видно категорию и в ней разделы которые созданы.
    Зайдя в любой раздел будет видно все форумы которые в нем созданы.
    Зайдя в форум будут видны все те маленькие квадратики)))
    И к этим маленьким квадратикам можно добавить еще маленьких квадратиков)
     
  9. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Примерно это сейчас я и делаю))) Мы с Вами друг друга поняли))
    Но проблема в том, что когда я так создаю их, эффект скажем получается тот что надо, но отображается оно совсем иначе. Я прикрепил 2 скрина, на первом так, как оно сейчас у меня отображается, а на втором тот как мне надо его отображать. Я думаю, что наверно надо создавать дочерний стиль основного и "насильно" применять ко вложенным категориям. Не знаю на сколько верна мысль. Как можно применить стили Категорий первого уровня, к категориям второго уровня?
    Снимок.PNG Снимок1.PNG
     
  10. Aksim

    Aksim Местный

    Регистрация:
    15.09.12
    Сообщения:
    312
    Симпатии:
    89
    Раздел-ссылка не пробовали? может это именно то?
    Безымянный.png
    тогда убрав галочки в настройках разделов у вас будут только вот такие вот ссылки, при переходе по которой открывается раздел
     
  11. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Нет, это не то. Раздел-ссылка просто ссылается на что либо, но сам по себе никакой информации не несёт. Вот в этой статье о чём-то подобном идёт речь, но оно не то...
    xf-russia.ru/forum/threads/podforumy-na-xenforo.7448/

    Там описано, то как на главном форуме отключить Разделы у Категорий, а на вложенных их показывать. В моей ситуации, надо как-то применить стили Категорий первого уровня к тем категориям что находятся на Втором уровне. Думаю, что наверно только так можно выйти в этой ситуации. Только вопрос в том, как их применить))
     
  12. Aksim

    Aksim Местный

    Регистрация:
    15.09.12
    Сообщения:
    312
    Симпатии:
    89
    Ну понятно вобщем)))))
    Не настолько страшно как кажется, в админке в разделе внешний вид можно создать новый стиль, за основу можно использовать любой из существующих. и уже в созданном стиле править шаблоны указанным способом. а при создании раздела ставить галочку принудительно использовать стиль, и в списке ниже выбрать нужный. все достаточно просто.
     
  13. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Начал я пилять файл node_category_level_2
    И первому результату я обрадовался. Т.к. категории были отмечены так, как мне надо, но когда я в них стал добавлят разделы, то они стали просто добавляться ссылками))) Ниже покажу до какого состояния я довёл файл... Теперь кумекаю над тем, как сделать, так, что бы категории остались в таком стиле, как надо, но при этом вложенные разделы были нормально отображены... Для того, что бы проверить это:

    Создайте на основном форуме просто категорию и этой категории создайте дочерним элементом ещё одну категорию и у это категории создайте раздел...
    PHP:
    <xen:require css="node_list.css" />
    <
    xen:require css="node_category.css" />

    <
    li class="node category level_1 node_{$category.node_id}">

        <
    div class="nodeInfo categoryNodeInfo categoryStrip{xen:if $category.hasNew, 'unread'}">

            <
    div class="categoryText">
                <
    h3 class="categoryTitle"><a href="{xen:link categories, $category}" data-description="{xen:if @nodeListDescriptionTooltips, '#nodeDescription-{$category.node_id}'}">{$category.title}</a></h3>

                <
    xen:if is="{$category.description} AND @nodeListDescriptions">
                    <
    blockquote class="nodeDescription {xen:if @nodeListDescriptionTooltips, nodeDescriptionTooltip} baseHtml" id="nodeDescription-{$category.node_id}">{xen:raw $category.description}</blockquote>
                </
    xen:if>

                <
    div class="nodeStats pairsInline">
                    <
    xen:if is="{$renderedChildren} AND @nodeListSubForumPopup">
                        <
    div class="Popup subForumsPopup">
                            <
    a href="{xen:link categories, $category}" rel="Menu" class="cloaked" data-closemenu="true"><span class="dt">{xen:phrase sub_forums}:</span> {xen:number $category.childCount}</a>
                           
                            <
    div class="Menu JsOnly subForumsMenu">
                                <
    div class="primaryContent menuHeader">
                                    <
    h3>{$category.title}</h3>
                                    <
    div class="muted">{xen:phrase sub_forums}</div>
                                </
    div>
                                <
    ol class="secondaryContent blockLinksList">
                                <
    xen:foreach loop="$renderedChildrenvalue="$child">
                                    {
    xen:raw $child}
                                </
    xen:foreach>
                                </
    ol>
                            </
    div>
                        </
    div>
                    </
    xen:if>
                </
    div>
               
                {
    xen:raw $nodeExtraHtml}
            </
    div>

            <
    xen:if is="{$renderedChildren} AND !@nodeListSubForumPopup">
                <
    ol class="subForumList">
                <
    xen:foreach loop="$renderedChildrenvalue="$child">
                    {
    xen:raw $child}
                </
    xen:foreach>
                </
    ol>
            </
    xen:if>

        </
    div>

    </
    li>
     
    Последнее редактирование: 17.02.2016
  14. Aksim

    Aksim Местный

    Регистрация:
    15.09.12
    Сообщения:
    312
    Симпатии:
    89
    Применение div class уже подразумевает под собой использование определенного шаблона в том или ином месте. Это грубо говоря для того чтоб каждый раз в коде не прописывать одно и тоже по нескольку раз. То что нужно править сам шаблон это верно, или как вариант создание дополнительного div class в css. Чисто теоретически проверку можно сделать через условие, но как то это все весьма туманно представляется. Я бы в подобном случае скорее всего использовал бы дочерние стили. Ведь простое и действенное решение. Можно, опять таки в теории, создать шаблон с необходимыми в нем правками, и через условие подвязать его. Но как все это правильно исполнить....
     
  15. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Я сейчас действую тем путём, что у меня есть дочерний шаблон от Default и его я правлю. Редактирование одни CSS не поможет, потому что стили зададут внешний вид, а сама архитектура этих блоков останется прежней. Поэтому я и полез изменят файл шаблона, сижу собираю его по частям))) Просто мне не совсем понятно, как перебираются в XenForo массивы категорий и т.д. Поэтому смотрю аналогичные файлы и собираю по частям. На данный момент выводится практически как надо за исключением того, что ещё не все стили применил. И пока что в этой структуре есть косяк, в категории "12" у меня нет ничего, но оно распечатало иконку. Есть вариант, как проверять на наличие существования категорий?
    Снимок.PNG
    --- добавлено : 18 фев 2016 в 00:30 ---
    Парни, я это сделал!!! ))))
    На данный момент можно на основной странице форума создать Категорию и в это категории ещё одну и она будет отображаться так, как на основной странице. Все последующие тоже так будут отображаться, но их надо ещё не много доработать. Ниже приведу код шаблона который надо править:
    1. Создаём свой стиль
    2. Открываем шаблон node_category_level_2
    3. Вставляем код который ниже
    PHP:
    <xen:require css="node_list.css" />
    <
    xen:require css="node_category.css" />

    <
    li class="node category level_1 node_{$category.node_id}">

        <
    div class="nodeInfo categoryNodeInfo categoryStrip{xen:if $category.hasNew, 'unread'}">

            <
    div class="categoryText">
                <
    h3 class="Title"><a href="{xen:link categories, $category}" data-description="{xen:if @nodeListDescriptionTooltips, '#nodeDescription-{$category.node_id}'}">{$category.title}</a></h3>

                <
    xen:if is="{$category.description} AND @nodeListDescriptions">
                    <
    blockquote class="nodeDescription {xen:if @nodeListDescriptionTooltips, nodeDescriptionTooltip} baseHtml" id="nodeDescription-{$category.node_id}">{xen:raw $category.description}</blockquote>
                </
    xen:if>

             
                {
    xen:raw $nodeExtraHtml}
            </
    div>
         
                 
            <
    xen:if is="{$renderedChildren} AND !@nodeListSubForumPopup">
                <
    ol class="subForumList">
                <
    xen:foreach loop="$renderedChildrenvalue="$child">
                    {
    xen:raw $child}
                </
    xen:foreach>
                </
    ol>
            </
    xen:if>

        </
    div>

    </
    li>
    <
    li class="node category_forum level_{$level} node_{$category.node_id}">
    <
    xen:if is="{$renderedChildren} ">
        <
    div class="nodeInfo categoryForumNodeInfo {xen:if $category.hasNew, 'unread'}">
            <
    span class="nodeIcon" title="{xen:if $category.hasNew, '{xen:phrase unread_messages}', ''}"></span>
         
            <
    div class="nodeText">
                <
    xen:if is="{$renderedChildren} AND @nodeListSubForumPopup">     
                    <
    xen:foreach loop="$renderedChildrenvalue="$child">
                        <
    h3>{xen:raw $child}</h3>
                    </
    xen:foreach>
                </
    xen:if>
             
                <
    div class="nodeStats pairsInline">
                    <
    dl><dt>{xen:phrase discussions}:</dt> <dd>{xen:if $category.privateInfo'&ndash;', {xen:number $category.discussion_count}}</dd></dl>
                    <
    dl><dt>{xen:phrase messages}:</dt> <dd>{xen:if $category.privateInfo'&ndash;', {xen:number $category.message_count}}</dd></dl>
                </
    div>
            </
    div>
         
         
            <
    div class="nodeLastPost secondaryContent">
                <
    xen:if is="{$category.privateInfo}">
                    <
    span class="noMessages muted">({xen:phrase private})</span>
                <
    xen:elseif is="{$category.lastPost.date}/>
                    <
    span class="lastThreadTitle"><span>{xen:phrase latest}:</span> <a href="{xen:link posts, $category.lastPost}" title="{$category.lastPost.title}">{$category.lastPost.title}</a></span>
                    <
    span class="lastThreadMeta">
                        <
    span class="lastThreadUser"><xen:if is="{xen:helper isIgnored, $category.last_post_user_id}">{xen:phrase ignored_member}<xen:else /><xen:username user="$category.lastPost" /></xen:if>,</span>
                        <
    xen:datetime time="$category.lastPost.date" class="muted lastThreadDate" data-latest="{xen:phrase latest}: " />
                    </
    span>
                <
    xen:else />
                    <
    span class="noMessages muted">({xen:phrase contains_no_messages})</span>
                </
    xen:if>
            </
    div>
        </
    div>
        </
    xen:if>
    </
    li>
     
    Последнее редактирование модератором: 25.02.2016
    Aksim нравится это.
  16. Aksim

    Aksim Местный

    Регистрация:
    15.09.12
    Сообщения:
    312
    Симпатии:
    89
    Отсается все довести до полной готовности, сделать скрины с главной и выложить в разделе с плагинами)
     
  17. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    Я пока могу создавать темы только в этом разделе форума((((
     
  18. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Не помню точно уже, но вроде был какой-то плагин для реализации подобного.
    Попробуйте посмотреть этот: 1.5.x - Nodes As Tabs
     
    mizha и Aksim нравится это.
  19. Aksim

    Aksim Местный

    Регистрация:
    15.09.12
    Сообщения:
    312
    Симпатии:
    89
    Romchik®, спасибо! помню что был такой плагин, но забыл название и не мог найти, спасибо за наводку.
     
  20. mizha

    mizha Местный

    Регистрация:
    02.02.16
    Сообщения:
    38
    Симпатии:
    2
    Версия XF:
    1.5.5
    где же Вы были раньше))) плагин в принципе тот, что нужен. Я практически закончил со своей версией осталось только описание добавить)

    Я посмотрел плагин. Он делает в принципе то, что надо. Но если использовать стандартный стиль, то всё равно категории выводит в виде разделов. У меня есть предложение объединить вот этот плагин и тот вариант, что есть у меня. Если в принципе это будет интересно, то дайте знать и я сделаю пост по этой теме. Думаю может получится довольно полезная статья

    Кто может ещё подсказать плагин редактора для админки?
     
    Последнее редактирование: 20.02.2016

Поделиться этой страницей