Вывод поля только в мобильной версии

 
Посетитель
small user social cms
Сообщений: 89
Всем привет. После последнего обновления из шаблонов много перенесено в system, есть у меня поле advert показываю его только при ($device_type != 'desktop'), теперь такая запись не работает было так в тип-контента_item.tpl.php
Код PHP:
  1.  
  2. <?php $device_type = cmsRequest::getDeviceType();?>
  3. <?php if ($device_type != 'desktop') {$item['advert'];} else {$item['advert'] = false;}?>
  4.  
И хлебные крошки тоже пришлось править в system/.../item_view.php
Код PHP:
  1.  
  2. //$this->cms_template->addBreadcrumb($item['title']);
  3.  
Вопрос как сделать хук или что-то подобное чтобы не лезть в папку system?
Так же изменить вывод тегов чтобы убрать запятые.
П.С. Использование функций-хелперов не осилил, возможно они не для этого.
Редактировалось: 2 раз (Последний: 21 января 2019 в 19:57)
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2781
Попробуте echo добавить:
Код PHP:
  1.  
  2. <?php if ($device_type != 'desktop') {echo $item['advert'];} else {$item['advert'] = false;}?>
  3.  
Не понятно только почему условие сразу не ставите на нужные устройства (т.е. если это телефон или планшет, то вывести поле)?
Украинский для инстант
Реклама
cms
Посетитель
small user social cms
Сообщений: 89
Олег Васильевич я:
Не понятно только почему условие сразу не ставите на нужные устройства (т.е. если это телефон или планшет, то вывести поле)?
Телефон и планшет у них одинаковый html только ширина разная (немного css @media screen и все красиво), в desktop появляются еще блоки внутри много чего типа сайдбара, чтобы их не грузить в мобильной версии получилось разбиение на десктоп и недесктоп.
с echo тоже не работает
Редактировалось: 2 раз (Последний: 22 января 2019 в 09:45)
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2781
rector:
Телефон и планшет у них одинаковый html только ширина разная (немного css @media screen и все красиво), в desktop появляются еще блоки внутри много чего типа сайдбара, чтобы их не грузить в мобильной версии получилось разбиение на десктоп и недесктоп.
Так и не понял зачем вам false на компах))

rector:
с echo тоже не работает
А какой тип поля у advert?
Ещё так попробуйте:
Код PHP:
  1.  
  2. <?php if ($device_type != 'desktop') {echo $fields['advert']['html'];} else {$fields['advert']['html'] = false;}?>
  3.  
Украинский для инстант
Посетитель
small user social cms
Сообщений: 89
Олег Васильевич я:
Так и не понял зачем вам false на компах))
На странице использую только 2 рекламных блока в мобильной версии под заголовком статьи и в конце статьи, в десктопе в сайдбаре и в конце статьи, поэтому под заголовком не нужен.
Олег Васильевич я:
Ещё так попробуйте
Такой вариант тоже не подошел.
В предыдущей версии был такой код:
Код PHP:
  1.  
  2. <?php $fields_fieldsets = cmsForm::mapFieldsToFieldsets($fields, function($field, $user) use ($item) {
  3. if (!$field['is_in_item'] || $field['is_system']) { return false; }
  4. if ((empty($item[$field['name']]) || empty($field['html'])) && $item[$field['name']] !== '0') { return false; }
  5. if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { return false; }
  6. return true;
  7. } ); ?>
  8.  
Здесь проверялись условия показывать или нет, где он теперь.
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2781
rector:
Такой вариант тоже не подошел.
А какой всё-таки тип поля?
rector:

В предыдущей версии был такой код:
...
где он теперь.
Теперь он в контроллере.
Я обычный любитель (не спец), но можете в личку стукнуть, вместе посмотрим.
Украинский для инстант
Посетитель
small user social cms
Сообщений: 89
Тип поля статичный текст. Как бы это все сделать через хуки или функций-хелперов. Если в system все править обновляться страшно будет. sad
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2606
rector:
На странице использую только 2 рекламных блока в мобильной версии под заголовком статьи и в конце статьи, в десктопе в сайдбаре и в конце статьи, поэтому под заголовком не нужен.
Выведите каждый блок отдельным виджетом, а в настройках виджетов есть настройка на каких дивайсах отображать виджет.
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2781
rector:
Тип поля статичный текст
Строковое поле - знаю.
Текст - знаю.
Текст HTML - знаю.
А поля "статичный текст" - не знаю. Какое-то стороннее поле или одно из перечисленных мною?
rector:
Если в system все править обновляться страшно будет.
Да всё решается в одном файле шаблона. Просто проверьтесь внимательно.
Редактировалось: 1 раз (Последний: 23 января 2019 в 16:18)
Украинский для инстант
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.