Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость

Обновляем тему Cotonti для совместимости с версией 0.9.24.2 и новее

  • 163 просмотра
  • 23 марта, 2024
  • Обновлено: 26 марта, 2024
  • admin
  • Время чтения: 3 минуты
  • 1 (Подробно)

Если вы обновляете свой сайт под управлением Cotonti Siena до версии 0.9.24.2, вам придется позаботиться об обновлении TPL-тегов в шаблонах темы. Использование настройки

$cfg['legacyMode'] = TRUE;

позволит в течение некоторого времени использовать старые теги, однако переход на новую нотацию лучше выполнить сразу. В данной статье подробно распишем данный процесс. Начнем с самой простой части.

Единообразные теги для вывода капчи

Данный теги используются в плагинах Comments и Contact, а также в модуле Users. Если раньше они отличались, то в новой редакции имена стали едиными:

Шаблон Было Стало
users.register.tpl {USERS_REGISTER_VERIFYIMG} {USERS_REGISTER_VERIFY_IMG}
users.register.tpl {USERS_REGISTER_VERIFYINPUT} {USERS_REGISTER_VERIFY_INPUT}
comments.tpl {COMMENTS_FORM_VERIFYIMG} {COMMENTS_FORM_VERIFY_IMG}
comments.tpl {COMMENTS_FORM_VERIFYINPUT} {COMMENTS_FORM_VERIFY_INPUT}
contact.tpl {CONTACT_FORM_VERIFYIMG} {CONTACT_FORM_VERIFY_IMG}
contact.tpl {CONTACT_FORM_VERIFYINPUT} {CONTACT_FORM_VERIFY_INPUT}

Теги в блоке паджинации

Как говорилось в релизе, за формирование блока постраничной навигации (паджинации или паджинатора) теперь отвечает функция cot_generatePaginationTags(). Это и удобно и правильно, поскольку все теги паджинатора станут единообразными. Конечно, при этом никто не воспрещает вам использовать "ручную" генерацию этих тегов в своих расширениях.

Общее правило теперь следующее: все теги паджинации будут иметь вид

[ПРЕФИКС_]ТЕГ

Мы взяли префикс в квадратные скобки для того, чтобы обозначить его необязательность. В тех шаблонах "коробочного" функционала, где по умолчанию паджинатор предполагается только в одном экземпляре, префикса не будет. Сами же теги будут выглядеть следующим образом:

{PAGINATION} непосредственно блок с ссылками в виде номеров страниц
{PREVIOUS_PAGE} ссылка на предыдущую страницу
{FIRST_PAGE} ссылка на первую страницу
{NEXT_PAGE} ссылка на следующую страницу
{LAST_PAGE} ссылка на последнюю страницу
{CURRENT_PAGE} номер текущей страницы
{TOTAL_ENTRIES} всего страниц
{ENTRIES_ON_CURRENT_PAGE} записей на текущей странице
{ENTRIES_PER_PAGE} записей на страницу
{TOTAL_PAGES} всего страниц

По умолчанию блок паджинации может выглядеть примерно так:

<!-- IF {PAGINATION} -->
	<nav class="mb-4" aria-label="List Pagination">
		<ul class="pagination pagination-sm justify-content-center mb-0">
			{PREVIOUS_PAGE}{PAGINATION}{NEXT_PAGE}
		</ul>
	</nav>
<!-- ENDIF -->

В случае если блоков паджинации может быть несколько, рекомендуется использовать префиксы:

<!-- IF {LIST_CAT_PAGINATION} -->
	<nav class="mb-4" aria-label="List Pagination">
		<ul class="pagination pagination-sm justify-content-center mb-0">
			{LIST_CAT_PREVIOUS_PAGE}{LIST_CAT_PAGINATION}{LIST_CAT_NEXT_PAGE}
		</ul>
	</nav>
<!-- ENDIF -->

Изменения TPL-тегов в модуле Forums

Первый блок изменений касается шаблона forums.posts.tpl:

Было Стало Примечание
  {FORUMS_POSTS_BREADCRUMBS} новый тег с "хлебными крошками"
{FORUMS_POSTS_SHORTTITLE} {FORUMS_POSTS_TITLE} заголовок ветки по аналогии с заголовком страницы модуля Page
{FORUMS_POSTS_PAGETITLE} {FORUMS_POSTS_DESCRIPTION} название стало более осмысленным

Теги паджинации в "коробке" префиксов не имеют (см. пример выше).

Что касается пользовательских тегов, создаваемых с помощью функции cot_generate_usertags(), о них будет ниже, в разделе модуля Users. Общее правило таково, что теперь все смысловые части тегов указываются полностью и разделяются символом подчеркивания. Сравните:

<!-- Было -->
{FORUMS_POSTS_ROW_USERNAME}
{FORUMS_POSTS_ROW_USER_MAINGRP_TITLE}
<!-- Стало -->
{FORUMS_POSTS_ROW_USER_NAME}
{FORUMS_POSTS_ROW_USER_MAIN_GROUP_TITLE}

Изменения в шаблоне polls.admin.tpl модуля Polls

Было Стало Примечание
{ADMIN_POLLS_ROW_POLL_URL_DEL} {ADMIN_POLLS_ROW_POLL_DELETE_URL} URL ссылки для удаления опроса
  {ADMIN_POLLS_ROW_POLL_DELETE_CONFIRM_URL} новый тег URLа ссылки для удаления опроса с подтверждением

Изменения в шаблонах модуля PM (Private Messages)

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

Изменения в шаблонах модуля Page

Сперва об изменениях в шаблонах списков страниц. По умолчанию это page.list.tpl В нем префикс LIST_ROWCAT_ заменен на более стандартный и типизированный LIST_CAT_ROW_ По паджинаторам мы уже писали выше: в блоке подразделов префикс будет LIST_CAT_ , а в блоке страниц префикс не нужен. Остальные изменения в таблице:

Было Стало Примечание
{LIST_CATTITLE} {LIST_BREADCRUMBS}  
  {LIST_BREADCRUMBS_SHORT} новый тег
{LIST_ROWCAT_URL} {LIST_CAT_ROW_URL}  
{LIST_ROWCAT_TITLE} {LIST_CAT_ROW_TITLE}  
{LIST_ROWCAT_COUNT} {LIST_CAT_ROW_COUNT} напомним, что это тег с количеством страниц в разделе
{LIST_ROWCAT_DESC} {LIST_CAT_ROW_DESCRIPTION}  

Теперь самое объемное – так называемые pagetags или страничные теги:

Было Стало Примечание
{PAGE_SHORTTITLE} {PAGE_TITLE}  
  {PAGE_BREADCRUMBS} новый тег
{PAGE_LOCALSTATUS} {PAGE_LOCAL_STATUS}  
{PAGE_CATURL} {PAGE_CAT_URL}  
{PAGE_CATTITLE} {PAGE_CAT_TITLE}  
{PAGE_CATPATH} {PAGE_CAT_PATH}  
{PAGE_CATPATH_SHORT} {PAGE_CAT_PATH_SHORT}  
{PAGE_CATDESC} {PAGE_CAT_DESCRIPTION}  
{PAGE_CATICON} {PAGE_CAT_ICON}  
  {PAGE_CAT_ICON_SRC}  
{PAGE_DESC} {PAGE_DESCRIPTION}  
{PAGE_DESC_OR_TEXT} {PAGE_DESCRIPTION_OR_TEXT}  
{PAGE_DESC_OR_TEXT_CUT} {PAGE_DESCRIPTION_OR_TEXT_CUT}  
{PAGE_OWNERID} {PAGE_OWNER_ID}  
{PAGE_OWNERNAME} {PAGE_OWNER_NAME}  
{PAGE_DATE} {PAGE_CREATED}  
{PAGE_DATE_STAMP} {PAGE_CREATED_STAMP}  
{PAGE_FILE_COUNT} {PAGE_FILE_DOWNLOADS}  
{PAGE_FILE_COUNTTIMES} {PAGE_FILE_DOWNLOADS_TIMES}  
{PAGE_COUNT} {PAGE_HITS}  
{PAGE_NOTAVAILABLE} {PAGE_NOT_AVAILABLE}  

Изменения типовые – слова теперь разделены знаками подчеркивания, что делает их более читабельными. Полный список страничных тегов доступен в описании функции cot_generate_pagetags() в файле /modules/page/inc/page.functions.php

Изменения в шаблоне page.add.tpl

Было Стало Примечание
{PAGEADD_FORM_DESC} {PAGEADD_FORM_DESCRIPTION}  
{PAGEADD_FORM_OWNERID} {PAGEADD_FORM_OWNER_ID}  

Изменения в шаблоне page.edit.tpl

Было Стало Примечание
{PAGEEDIT_FORM_LOCALSTATUS} {PAGEEDIT_FORM_LOCAL_STATUS}  
{PAGEEDIT_FORM_DESC} {PAGEEDIT_FORM_DESCRIPTION}  
{PAGEEDIT_FORM_OWNERID} {PAGEEDIT_FORM_OWNER_ID}  
{PAGEEDIT_FORM_PAGECOUNT} {PAGEEDIT_FORM_HITS}  
{PAGEEDIT_FORM_FILECOUNT} {PAGEEDIT_FORM_FILE_DOWNLOADS}  

Изменения в шаблонах модуля Users

Сперва о специфических изменениях в шаблонах.

Изменения в шаблоне users.edit.tpl

Было Стало Примечание
  {USERS_EDIT_TITLE} заголовок шаблона
  {USERS_EDIT_BREADCRUMBS} хлебные крошки
{USERS_EDIT_DETAILSLINK} {USERS_EDIT_DETAILS_URL}  
{USERS_EDIT_MAINGRP} {USERS_EDIT_MAIN_GROUP}  

Изменения в шаблоне users.passrecover.tpl

Было Стало Примечание
  {PASSRECOVER_TITLE} заголовок шаблона
  {PASSRECOVER_BREADCRUMBS} хлебные крошки

Изменения в шаблоне users.profile.tpl

Было Стало Примечание
  {USERS_PROFILE_TITLE} заголовок шаблона
  {USERS_PROFILE_BREADCRUMBS} хлебные крошки
{USERS_PROFILE_DETAILSLINK} {USERS_PROFILE_DETAILS_URL}  
{USERS_PROFILE_EDITLINK} {USERS_PROFILE_EDIT_URL}  

Изменения в шаблоне users.tpl

Было Стало Примечание
  {USERS_TITLE} заголовок шаблона
  {USERS_BREADCRUMBS} хлебные крошки
{USERS_TOP_USERID} {USERS_TOP_USER_ID}  
{USERS_TOP_MAINGRP} {USERS_TOP_MAIN_GROUP}  
{USERS_TOP_REGDATE} {USERS_TOP_REGISTRATION_DATE}  
{USERS_TOP_LOGCOUNT} {USERS_TOP_LOGINS_COUNT}  
{USERS_TOP_GRPLEVEL} {USERS_TOP_GROUP_LEVEL}  
{USERS_TOP_GRPTITLE} {USERS_TOP_GROUP_TITLE}  
{USERS_TOP_POSTCOUNT} {USERS_TOP_POSTS_COUNT}  
{USERS_TOP_FILTER_ACTION} {USERS_FILTERS_ACTION}  
  {USERS_FILTERS_PARAMS} параметры фильтра
{USERS_TOP_FILTERS_COUNTRY} {USERS_FILTERS_COUNTRY}  
{USERS_TOP_FILTERS_MAINGROUP} {USERS_FILTERS_MAIN_GROUP}  
{USERS_TOP_FILTERS_GROUP} {USERS_FILTERS_GROUP}  
{USERS_TOP_FILTERS_SEARCH} {USERS_FILTERS_SEARCH}  
{USERS_TOP_FILTERS_SUBMIT} {USERS_FILTERS_SUBMIT}  
  {USERS_FILTERS_SORT}  
  {USERS_FILTERS_SORT_WAY_URL}  
  {USERS_FILTERS_SORT_WAY}  

Все остальные пользовательские теги aka usertags формируются с помощью функции cot_generate_usertags(). Ее описание можно найти в файле /system/functions.php

Изменения в шаблонах плагина Recent Items

Изменения касаются шаблонов recentitems.forums.index.tpl и recentitems.forums.tpl

Было Стало Примечание
{FORUM_ROW_FIRSTPOSTER} {FORUM_ROW_FIRST_POSTER}  
{FORUM_ROW_LASTPOSTER} {FORUM_ROW_LAST_POSTER}  
{FORUM_ROW_TIMEAGO} {FORUM_ROW_TIME_AGO}  
{FORUM_ROW_POSTCOUNT} {FORUM_ROW_POST_COUNT}  
FORUM_ROW_CREATIONDATE} FORUM_ROW_CREATED}  
{FORUM_ROW_CREATIONDATE_STAMP} {FORUM_ROW_CREATED_STAMP}  
{FORUM_ROW_REPLYCOUNT} {FORUM_ROW_REPLY_COUNT}  
{FORUM_ROW_VIEWCOUNT} {FORUM_ROW_VIEW_COUNT}  
{FORUM_ROW_LASTPOSTURL} {FORUM_ROW_LAST_POST_URL}  
{FORUM_ROW_MAXPAGES} {FORUM_ROW_MAX_PAGES}  
{FORUM_ROW_DESC} {FORUM_ROW_DESCRIPTION}  

Для данных топикстартера используйте usertags с префиксом {FORUM_ROW_FIRST_POSTER_}. Для последнего ответившего в теме префикс {FORUM_ROW_LAST_POSTER_}. Паджинация стандартная, без префиксов.

В шаблонах recentitems.pages.tpl и recentitems.pages.index.tpl все изменения согласно новым пользовательским тегам.

Изменения в плагине Search

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

Изменения в плагине Tags

Паджинация стандартная, без префиксов.

Шаблон админки admin.extensions.tpl

Было Стало Примечание
{ADMIN_EXTENSIONS_DETAILS_ROW_ORDER} {ADMIN_EXTENSIONS_DETAILS_ROW_ORDER_INSTALLED}  
{ADMIN_EXTENSIONS_DETAILS_ROW_HOOKS} {ADMIN_EXTENSIONS_DETAILS_ROW_HOOKS_INSTALLED}  

Новый комментарий

Имя:
Для редактирования комментария осталось 10 минут
Комментарии отсутствуют