Опубликовано: 21 октября 201213 г Чтобы сделать динамический логотип, реагирующий на время года и праздники, вам потребуется: 1. Приготовить набор логтипов, назвая каждый следующим образом: logo-[месяц].png - стандартный логотип месяца, logo-[месяц]-[число].png - особый логотип на особый день. Например: logo-03.png - мартовский logo-03-08.png - особый логотип на 8 марта Праздники не обязательны, но на все 12 месяцев логотипы нужно сделать. 2. Создать на форуме папку /public/logos/, и сложить их туда. 3. Отредактировать шаблон Глобальные > defaultHeader. Заменить его содержимое на:<php> $logo_ext = '.png'; $logo = file_exists(DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/logos/logo-' . date('m-d') . $logo_ext) ? date('m-d') . $logo_ext : date('m') . $logo_ext; $logo = $this->settings['public_dir'] . 'logos/logo-'.$logo; </php> <a href='{$this->settings['board_url']}' title='{$this->lang->words['go_home']}' rel="home" accesskey='1'><img src='{$logo}' alt='{$this->lang->words['logo']}' /></a> Если у вас логотипы не в .png, а в .jpg, просто замените значение: $logo_ext = '.jpg';
Опубликовано: 21 октября 201213 г Автор Если лениво рисовать сразу на все месяцы, можно: 1. Положить в папку /public/logos/ стандартный вариант логотипа под именем logo.png. 2. Усложнить код шаблона: <php> $logo_ext = '.png'; if ( file_exists(DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/logos/logo-' . date('m-d') . $logo_ext) ) { $logo = $this->settings['public_dir'] . 'logos/logo-' . date('m-d') . $logo_ext; } elseif ( file_exists(DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/logos/logo-' . date('m') . $logo_ext) ) { $logo = $this->settings['public_dir'] . 'logos/logo-' . date('m') . $logo_ext; } else { $logo = $this->settings['public_dir'] . 'logos/logo'. $logo_ext; }; </php> <a href='{$this->settings['board_url']}' title='{$this->lang->words['go_home']}' rel="home" accesskey='1'><img src='{$logo}' alt='{$this->lang->words['logo']}' /></a> Теперь логтипом будет либо "logo-[месяц]-[день].png", либо, если его нет, "logo-[месяц].png", либо, если и такого нет, "logo.png".
Опубликовано: 4 июля 201312 г Спасибо за полезную информацию. А как сделать чтобы лого в произвольном порядке менялось например один раз в час или произвольно при обновлении страницы пользователем?
Опубликовано: 4 июля 201312 г Вместо "date('m-d')" использовать "rand(1, n)", где n - максимальное числовое значение в имени файла логотипа. Т.е. если в наборе 10 файлов (logo-1.png, logo-2.png ... logo-10.png), то пишем "rand(1, 10)".$logo = file_exists(DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/logos/logo-' . rand(1, 10) . $logo_ext);Это будет случайное лого из набора. Со сменой раз в час сложнее, если требуется рендомно выбрать лого из произвольного числа файлов... Если же следовать предложенному методу, то нужно сделать набор из 24-х логотипов, нумерация файлов от 00 до 23 и использовать "date('H')", или 12 файлов и "date('h')", нумерация 01 - 12.
Чтобы сделать динамический логотип, реагирующий на время года и праздники, вам потребуется:
1. Приготовить набор логтипов, назвая каждый следующим образом:
Например:
Праздники не обязательны, но на все 12 месяцев логотипы нужно сделать.
2. Создать на форуме папку /public/logos/, и сложить их туда.
3. Отредактировать шаблон Глобальные > defaultHeader. Заменить его содержимое на:
<php> $logo_ext = '.png'; $logo = file_exists(DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/logos/logo-' . date('m-d') . $logo_ext) ? date('m-d') . $logo_ext : date('m') . $logo_ext; $logo = $this->settings['public_dir'] . 'logos/logo-'.$logo; </php> <a href='{$this->settings['board_url']}' title='{$this->lang->words['go_home']}' rel="home" accesskey='1'><img src='{$logo}' alt='{$this->lang->words['logo']}' /></a>Если у вас логотипы не в .png, а в .jpg, просто замените значение: $logo_ext = '.jpg';