LonerD 20 Опубликовано: 2 апреля 2018 Рассказать Опубликовано: 2 апреля 2018 В шаблоне добавления новости есть форма выбора категорий {category}. Её дизайн прописан в файле modules\addnews.php if( $config['allow_multi_category'] ) { $cats = "<select data-placeholder=\"{$lang['addnews_cat_sel']}\" name=\"catlist[]\" id=\"category\" onchange=\"onCategoryChange(this)\" style=\"width:350px;height:140px;\" multiple=\"multiple\">"; } else { $cats = "<select data-placeholder=\"{$lang['addnews_cat_sel']}\" name=\"catlist[]\" id=\"category\" onchange=\"onCategoryChange(this)\" style=\"width:350px;\">"; } Верстаю шаблон под bootstrap4. Не придумал ничего лучшего как отредактировать файл движка, указав желаемые классы вместо прописанных стилей. if( $config['allow_multi_category'] ) { $cats = "<select data-placeholder=\"{$lang['addnews_cat_sel']}\" name=\"catlist[]\" id=\"category\" onchange=\"onCategoryChange(this)\" class=\"w-100\" multiple=\"multiple\">"; } else { $cats = "<select data-placeholder=\"{$lang['addnews_cat_sel']}\" name=\"catlist[]\" id=\"category\" onchange=\"onCategoryChange(this)\" class=\"form-control\">"; } Подскажите, каким образом прописать эти же классы в шаблонах, без редактирования файлов движка? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 2 апреля 2018 Рассказать Опубликовано: 2 апреля 2018 21 минуту назад, LonerD сказал: Подскажите, каким образом прописать эти же классы в шаблонах, без редактирования файлов движка? Свойства CSS могут наследоваться, а не обязательно чтобы им были прописаны имена. например <div class="test">{category}</div> в CSS .test select { тут нужные свойства } 1 Цитата Ссылка на сообщение Поделиться на других сайтах
LonerD 20 Опубликовано: 2 апреля 2018 Рассказать Опубликовано: 2 апреля 2018 Автор Разобрался в этом нюансе. Спасибо. Меня смутила вариативность if-else (разное оформление для разных настроек движка), оказывается это решается через указание в CSS select[multiple] Цитата Ссылка на сообщение Поделиться на других сайтах
LonerD 20 Опубликовано: 11 апреля 2018 Рассказать Опубликовано: 11 апреля 2018 Автор Такое себе удовольствие получается... Особенно если используются популярные нынче готовые фреймворки (типа бутстрапа), в которых всё уже настроено. Казалось бы, в вышеприведённом примере достаточно для select указать готовый класс .form-control и радоваться тому, что на разных устройствах всё будет отображаться одинаково красиво. Но из-за того, что шаблон вынесен в файл движка, приходится дублировать сущности. Начал выискивать классы .form-control (несколько десятков записей в bootstrap.css), переименовывать их в .test, получилась куча лишнего кода... на компьютере выглядит вроде как нужно.... посмотрел на планшете - ужас. Остаётся или бесплодно часами вылавливать ошибки (решение правильное, но времязатратное) или каждый раз после обновлений редактировать файлы движка (решение неправильное, но гораздо более простое) в надежде, что когда-нибудь шаблонизация будет вынесена в шаблоны и не нужно будет искать и перекрывать стили из движка. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.