Заменить элемент dt на jQuery (phpBB)

Я попытался выполнить поиск, но все найденные мной примеры и ответы я не смог приступить к работе.

phpBB имеет следующие строки кода:

    <!-- IF topicrow.S_FIRST_ROW or not topicrow.S_TOPIC_TYPE_SWITCH -->
    <div class="forumbg<!-- IF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) --> announcement<!-- ENDIF -->">
    <div class="inner">
    <ul class="topiclist">
        <li class="header">
            <dl class="row-item">
                <dt<!-- IF S_DISPLAY_ACTIVE --> id="active_topics"<!-- ENDIF -->><div class="list-inner"><!-- IF S_DISPLAY_ACTIVE -->{L_ACTIVE_TOPICS}<!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) -->{L_ANNOUNCEMENTS}<!-- ELSE -->{L_TOPICS}<!-- ENDIF --></div></dt>
                <dd class="posts">{L_REPLIES}</dd>
                <dd class="views">{L_VIEWS}</dd>
                <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
            </dl>
        </li>
    </ul>

Я пытаюсь перенастроить эту часть (всю строку)

<dt<!-- IF S_DISPLAY_ACTIVE --> id="active_topics"<!-- ENDIF -->>
    <div class="list-inner">
        <!-- IF S_DISPLAY_ACTIVE -->{L_ACTIVE_TOPICS}
        <!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) -->{L_ANNOUNCEMENTS}
        <!-- ELSE -->{L_TOPICS}<!-- ENDIF -->
    </div>
</dt>

Для справки мне нужно изменить его на

<dt<!-- IF S_DISPLAY_ACTIVE --> id="active_topics"<!-- ENDIF -->>
    <div class="list-inner">
        <!-- IF S_DISPLAY_ACTIVE -->{L_ACTIVE_TOPICS}
        <!-- ELSEIF topicrow.S_TOPIC_TYPE eq 3 -->{L_GLOBAL_ANNOUNCEMENTS}
        <!-- ELSEIF (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) eq 2 -->{L_ANNOUNCEMENTS}
        <!-- ELSEIF topicrow.S_TOPIC_TYPE eq 1 -->{L_STICKY}
        <!-- ELSE -->{L_TOPICS}<!-- ENDIF -->
    </div>
</dt>

Может ли кто-нибудь предоставить весь код jquery, который мне нужен для этой работы, пожалуйста? Спасибо.


person Kailey Truscott    schedule 13.12.2016    source источник
comment
Эта структура является шаблоном. Вы должны посмотреть на вывод (просмотреть исходный код в вашем браузере).   -  person Dekel    schedule 13.12.2016
comment
Кроме того, если вы хотите изменить логику отображения, в этом случае я не уверен, что jQuery - правильный инструмент. Измените шаблон, вернее ...   -  person sinisake    schedule 13.12.2016
comment
phpBB запрещает изменять шаблон в расширениях (начиная с версии 3.1.x). Что касается предложения id active_topics, мне нужно это, чтобы изменить элемент dt, не затрагивая идентификатор active_topics.   -  person Kailey Truscott    schedule 13.12.2016
comment
Не могли бы вы уточнить? Пожалуйста, предоставьте нам имя шаблона и php-страницу, которую вы хотите изменить.   -  person Alexandre Tranchant    schedule 17.12.2016
comment
Предоставьте пример вывода HTML, предварительно обработанный шаблон бесполезен.   -  person sinisake    schedule 17.12.2016


Ответы (1)


phpBB запрещает изменять только основные файлы php. Если вы хотите изменить данные, вы должны использовать расширение. Но в данном случае это не так.

Для шаблона рекомендуется использовать расширение шаблона событий, особенно когда вам нужно добавить некоторые новые функции. Но вы можете изменить свой шаблон, особенно в вашем случае!

Вот хорошая практика:

Создайте новый стиль, наследуя просильвер

# General Information about youstyle
name = mystyle
copyright = © phpBB Limited, 2016
style_version = 3.1.10
phpbb_version = 3.1.10

# Defining a different template bitfield
# template_bitfield = lNg=

# Parent style
# Set value to empty or to this style's name
# if this style does not have a parent style
parent = prosilver

Скопируйте / вставьте файл шаблона viewforum.phtml, вы хотите изменить в своих новых каталогах стилей и изменить их напрямую.

phpBB/styles/mystyle/template/viewforum_body.html

Используйте вашу админ-панель, чтобы протестировать вашу модификацию. Когда это будет сделано, измените шаблон по умолчанию с prosilver на mystyle.

Вот хорошая документация о наследовании шаблонов

person Alexandre Tranchant    schedule 17.12.2016