$WS_Theme

Внимание! Этот API удалён начиная с WS 0.95. Используйте CurrentTheme.

Глобальная переменная $WS_Theme удалена и недоступна в актуальной версии CMS.

Для работы с активной темой используйте статические методы класса CurrentTheme.

Переход на CurrentTheme

Устаревший вызов Актуальный вызов
$WS_Theme->root() CurrentTheme::url()
$WS_Theme->path() CurrentTheme::path()
$WS_Theme->header() CurrentTheme::header()
$WS_Theme->footer() CurrentTheme::footer()
$WS_Theme->getData($key) CurrentTheme::data($key)
$WS_Theme->getCSS() echo CurrentTheme::getCSS()
$WS_Theme->getJS() echo CurrentTheme::getJS()

Подключение шаблона

Старый вариант:

php
include $WS_Theme->header();
include $WS_Theme->footer();

Актуальный вариант:

php
include CurrentTheme::header();
include CurrentTheme::footer();

Ресурсы темы

Старый вариант формировал URL вручную:

php
$logo = $WS_Theme->root() . 'assets/images/logo.svg';

Используйте assetUrl(), который проверяет существование файла и добавляет версию темы:

php
$logo = CurrentTheme::assetUrl(
    'images',
    'logo.svg'
);

Настройки темы

Старый вариант:

php
$logo = $WS_Theme->getData('logo');

Актуальный вариант:

php
$logo = CurrentTheme::data('logo');

Для отсутствующего ключа можно указать значение по умолчанию:

php
$phone = CurrentTheme::data(
    'phone',
    'Телефон не указан'
);

CSS и JavaScript

Методы CurrentTheme::getCSS() и CurrentTheme::getJS() возвращают HTML строкой и не выводят её самостоятельно.

php
echo CurrentTheme::getCSS();
echo CurrentTheme::getJS();

SEO-метаданные

Работа с SEO больше не относится к активной теме.

Используйте данные текущей страницы:

php
echo PageData::getSeoHead();
echo PageData::getFaviconHead();

Методы без прямой замены

Методы $WS_Theme->getPanel() и $WS_Theme->setMeta() не входят в API CurrentTheme.

CurrentTheme предоставляет доступ к файлам и настройкам активной темы, но не изменяет их и не управляет административной панелью.

Важные замечания

  • не проверяйте наличие $WS_Theme: переменная больше не создаётся
  • не создавайте объект CurrentTheme
  • используйте только статические методы CurrentTheme
  • для URL ресурсов используйте assetUrl()
  • для файловых путей используйте filePath() и directoryPath()
  • для настроек темы используйте data()