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

Программное изменение стиля

Тема в разделе "Советы, руководства и видео-уроки", создана пользователем infis, 19.10.2011.

Загрузка
  1. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Кир поделился способом изменения стиля не из самого ксена. Этот способ применим для запуска из консоли или из того же крона.
    PHP:
    <?php

    if (PHP_SAPI != 'cli')
    {
        die(
    'This script may only be run at the command line.');
    }

    if (!
    class_exists('XenForo_Autoloader'false))
    {
        
    $fileDir '/full/path/to/xenforo';
        
    chdir($fileDir);

        require_once(
    $fileDir '/library/XenForo/Autoloader.php');
        
    XenForo_Autoloader::getInstance()->
            
    setupAutoloader($fileDir '/library');

        
    XenForo_Application::initialize($fileDir '/library'$fileDir);
    }

    $definitions XenForo_Application::getDb()->fetchPairs('
        SELECT property_name, property_definition_id
        FROM xf_style_property_definition
    '
    );

    // specify the style you want to work with
    $styleId 4;

    // specify the properties you want to update
    $properties = array(
        
    $definitions['pageBackground'] => 'orange',
        
    $definitions['dimmedTextColor'] => 'hotpink',
        
    $definitions['primaryDarker'] => 'rgb(0,0,128)',
        
    $definitions['secondaryMedium'] => '#ff99ff',
        
    $definitions['imagePath'] => 'styles/myOtherStyle',
    );

    XenForo_Model::create('XenForo_Model_StyleProperty')->
        
    saveStylePropertiesInStyleFromInput($styleId$properties);

    echo 
    'Updated specified properties.' PHP_EOL;
     
    FractalizeR, Yoskaldyr, Romchik® и ещё 1-му нравится это.
  2. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    А как это реально можно применить, если уже есть веб-интерфейс?
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Навскидку. Допустим, я хочу в зависимости от времени суток на сервере менять цветовую гамму. Или от погоды менять фон. Ну и т.д.
     
    CyberAP нравится это.

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