Forums / National / Russian / Идеи / Рефакторинг TPL-тегов

Kort
#47810 2024-03-03 09:14

Такое впечатление, что это не я отсутствовал два месяца)

Да, TPL-тег PAGE_SHORTTITLE объявили устаревшим. Вместо него будет давно просимый и более осмысленный PAGE_TITLE. Крошки будут в новом теге PAGE_BREADCRUMBS.

Пока что PAGE_SHORTTITLE доступен -- для совместимости. Т.е. чтобы сайт не ломался сразу, а у тебя было время спокойно переписать теги в теме.

Мое предложение: блок

            // @deprecated in 0.9.24
            'SHORTTITLE' => htmlspecialchars($page_data['page_title'], ENT_COMPAT, 'UTF-8', false),
            'LOCALSTATUS' => $L['page_status_' . $page_data['page_status']],
            'CATURL' => $cat_url,
            'CATTITLE' => $catTitle,
            'CATPATH' => $catpath,
            'CATPATH_SHORT' => cot_rc_link($cat_url, $catTitle),
            'CATDESC' => (isset($structure['page'][$page_data['page_cat']]['desc'])
                && $structure['page'][$page_data['page_cat']]['desc'] != '') ?
                htmlspecialchars($structure['page'][$page_data['page_cat']]['desc']) : '',
            'CATICON' => isset($structure['page'][$page_data['page_cat']]['icon']) ?
                $structure['page'][$page_data['page_cat']]['icon'] : '',
            'OWNERID' => $page_data['page_ownerid'],
            'OWNERNAME' => (isset($page_data['user_name']) && $page_data['user_name'] != '') ?
                htmlspecialchars($page_data['user_name']) : '',
            'DESC' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
                htmlspecialchars($page_data['page_desc']) : '',
            'DESC_OR_TEXT' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
                htmlspecialchars($page_data['page_desc']) : $text,
            'DESC_OR_TEXT_CUT' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
                htmlspecialchars($page_data['page_desc']) : $text_cut,
            'FILE_COUNT' => $page_data['page_filecount'],
            'FILE_COUNTTIMES' => cot_declension($page_data['page_filecount'], $Ls['Times']),
            'COUNT' => $page_data['page_count'],
            'NOTAVAILABLE' => ($page_data['page_begin'] > Cot::$sys['now'])
                ? Cot::$L['page_notavailable'] . cot_build_timegap(Cot::$sys['now'], $page_data['page_begin'])
                : '',
            // /@deprecated

обрамить примерным условием

if ($cfg_compatibility_mode) {
   // @deprecated
   ...
}

-- так, чтобы можно было через включение и отключение настройки cfg_compatibility_mode тестировать тему в режиме обновленных тегов.

Да, это может быть "новая" настройка, но она может быть удобной и сейчас и при будущих аналогичных изменениях, когда остатки старого кода оставляем для временной совместимости.

Естественно, все имена и код для примера.

SED.by - создание сайтов, разработка плагинов и тем для Котонти