helper.php ломает стили админки

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 8 сентября 2025 в 01:14

Использую для темы свой helper.php к примеру кастомизирую поле input убираю у него классы textarea form-control и прописываю свои  в админке поле становится тоже без классов и без стилей, так задумано или это баг. пробовал для темы админки скопировать стандартный helper.php не помогло. как решить данную проблемуИзображение

#2 8 сентября 2025 в 07:48

 Михаил, это не баг, а ожидаемое поведение системы. Можете добавить проверку на админку в вашем хелпере:

  1. function html_input($type = 'text', $name = '', $value = '', $attributes = []) {
  2.  
  3. if ($type === 'password' && empty($attributes['autocomplete'])) {
  4. $attributes['autocomplete'] = 'off';
  5. }
  6. $attributes['type'] = $type;
  7. $attributes['name'] = $name;
  8. $attributes['value'] = $value;
  9.  
  10. // Если это админка - возвращаем стандартные классы
  11. if (cmsCore::getInstance()->uri_controller == 'admin') {
  12. return html_tag_short('input', $attributes, 'input form-control');
  13. }
  14.  
  15. // Для фронтенда - просто кастомные классы
  16. return html_tag_short('input', $attributes, 'my-custom-class');
  17. }

Решение такое себе, но я почему-то подозреваю, что в тему admincoreui тоже нужно класть хэлпер. Могу ошибаться. 

#3 8 сентября 2025 в 09:52
  • function html_input($type = 'text', $name = '', $value = '', $attributes = []) {
  •  
  • if ($type === 'password' && empty($attributes['autocomplete'])) {
  • $attributes['autocomplete'] = 'off';
  • }
  • $attributes['type'] = $type;
  • $attributes['name'] = $name;
  • $attributes['value'] = $value;
  •  
  • // Если это админка — возвращаем стандартные классы
  • if (cmsCore::getInstance()->uri_controller == 'admin') {
  • return html_tag_short('input', $attributes, 'input form-control');
  • }
  •  
  • // Для фронтенда — просто кастомные классы
  • return html_tag_short('input', $attributes, 'my-custom-class');
  • }
Pechora

не помогло все тоже самое, 

что в тему admincoreui тоже нужно класть хэлпер

Pechora

да добавил с самого начала, но тоже админка игнорирует его

#4 8 сентября 2025 в 12:49

Михаил, всё так и должно быть. И да отчасти не ожидаемое поведение. Хелперы править плохая идея в целом. Как из этого выйти без правок движка?

Файл шаблона поля лежит тут /templates/modern/assets/fields/string.tpl.php (и в целом для каждого шаблона). Вместо вызовов html_input() вставьте свою вёрстку инпута прям там, не забудьте что атрибуты тега должны печататься через html($var), а не через echo $var.

#5 9 сентября 2025 в 22:59
Михаил, всё так и должно быть. И да отчасти не ожидаемое поведение. Хелперы править плохая идея в целом. Как из этого выйти без правок движка?
Fuze

благодарю, то что нужно

Похожие темы

Функция из Helper в Cron

HTML / CSS / PHP / JS / RegExp Создана 4 года назад 1 сообщение

Похожее в блогах

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.