Куда бы вставить виджет? 2.X

 
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 459
Полезные штука виджеты. Вставить их можно хоть куда. Или почти хоть куда...

Вот оформил я страницу списка записей. Теперь бы разместить небольшой текст над списком. Как раз есть подходящий виджет "Текстовый блок". На страницу у него есть два варианта вставки: сверху или снизу "Тела страницы".
Куда бы вставить виджет?


Вставляем сверху.
Оказывается к "Телу страницы", относится не только Заголовок, что в некоторых случаях можно пережить, но и Глубинометр. "Тело страницы" на картинке выдели зелёным:
Куда бы вставить виджет?

Странно, что сей момент не был учтён. Ведь зачастую текст нужно вставить под заголовком.

Чуть-чуть получается поправить ситуацию, отключив Глубинометр, Но ведь это не выход. Так можно ведь можно всё поотключать на сайте...

Получается добавить какой-то текст можно только на главную страницу или в правую колонку? Кто-нибудь решал этот вопрос? Или только вариант правки шаблона?
Редактировалось: 1 раз (Последний: 21 апреля 2017 в 01:05)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 3629
Yar, если в шаблоне не предусмотрено место под вывод виджета, то можно добавить позиции в шаблон.
Дизайн для Инстант = Я зарабатываю тут =
= Уроки для Конструктора тем =
Реклама
cms
Посетитель
no avatar
Сообщений: 24
Cтудия Sitestroi, подскажите как? Может, даже видео запишите? smile
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2093
Один из вариантов - http://instantcms.ru/blogs/zapiski-sumasshedshego/pole-pozicija-dlja-vidzhetov-vyvodim-vidzhety-v-tele-zapisi.html - делаете поле перед заголовком.

Второй вариант - в файле main.tpl.php находите такой код:
Код PHP:
  1. <?php if ($config->show_breadcrumbs && $this->isBreadcrumbs()){ ?>
  2. <div id="breadcrumbs">
  3. <?php $this->breadcrumbs(array('strip_last'=>false)); ?>
  4. </div>
  5. <?php } ?>
после него вставляете такой код:
Код PHP:
  1. <?php $this->widgets('nadzagolovkom'); ?>
В файле scheme.html находите такой код:
Код HTML:
  1. {block:LANG_PAGE_BODY}
и после него вставляете такой
Код HTML:
  1. {position:nadzagolovkom}
Этот пример для дефолтного шаблона, но в других будет что-то аналогичное. nadzagolovkom - это название позиции, можно назвать по-другому.

Переходите в Панель управления - > Виджеты. Теперь над блоком "Тело страницы" появилась новая область для виджетов. На страницах сайта виджеты из этой области будут между заголовком и хлебными крошками.
Редактировалось: 1 раз (Последний: 21 апреля 2017 в 08:50)
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 459
Cтудия Sitestroi:
то можно добавить позиции в шаблон.
Самый главный вопрос это в дальнейшем обновлении движка.

DK:
Второй вариант
DK, С шаблоном понятно, можно создать свой и обновления не страшны, надеюсь, а что будет с файлом scheme.html?
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3102
DK, поле не сработает, там поле заголовка выдергивается из массива по моему, так что в любом случае будет после заголовка
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2093
Jestik:
DK, поле не сработает, там поле заголовка выдергивается из массива по моему
Да, наверное Вы правы.

Yar:
что будет с файлом scheme.html?
А что с ним должно быть, если
Yar:
С шаблоном понятно, можно создать свой и обновления не страшны
файл scheme.html - это тоже файл шаблона.
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 459
Не так выразился, не шаблон, а файл ...tpl.php. Его же можно создать для раздела свой, например moy_razdel.tpl.php.Шаблон у меня дефолтный.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2093
Yar:
файл ...tpl.php. Его же можно создать для раздела свой, например moy_razdel.tpl.php
Вот этого не знаю, не пробовал. Скорее всего нельзя.

Вы можете создать копию дефолтного шаблона и в нем делать правки. В любом случае, без правки файлов Вам эту проблему не решить. Можете сделать это всё в дефолтном даже. В обновлениях не всегда указанные файлы меняются. Но если все-таки изменятся, то добавить опять эти две строчки.
Редактировалось: 2 раз (Последний: 21 апреля 2017 в 15:00)
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 459
DK:
Скорее всего нельзя.
А в templates/default/content/ я создавал my_item.tpl.php

Ладно, главное, чтоб функционал работал, а себе это уже можно как-нибудь попытаться вставить. Как я понимаю, пока не получается найти решение разместить виджет ни под Глубинометром, ни под Заголовком.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2093
Yar:
пока не получается найти решение разместить виджет под Глубинометром
Второй вариант.

Yar:
пока не получается найти решение разместить виджет ... под Заголовком
Первый вариант.

Было бы желание.

Yar:
А в templates/default/content/ я создавал my_item.tpl.php
Этот файл выведет запись с системным именем my. Можно и в него добавить позицию для виджетов, но при обновлении файл scheme.html может все равно слететь.
Редактировалось: 1 раз (Последний: 21 апреля 2017 в 17:26)
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 459
DK:
Jestik:
DK, поле не сработает, там поле заголовка выдергивается из массива по моему
Да, наверное Вы правы.
Меня это немного смутило, поэтому не стал экспериментировать.

Пошел по Второму варианту.

В результате, действительно, получилось. Спасибо. Хотя область для виджетов появилась под блоком "Тело страницы", а не над. Но, главное работает. Цель достигнута на 50%. Уже что-то. Но всё же, нет ли возможности ставить под Заголовок? Так немного логичнее. )
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2093
Yar:
Цель достигнута на 50%. Уже что-то. Но всё же, нет ли возможности ставить под Заголовок? Так немного логичнее. )
Извиняюсь, я немного ошибся. В файле scheme.html код, который нужно вставить, вставьте не после того кода, после которого я написал вставить, а перед ним. Т.е., код

Код HTML:
  1. {position:nadzagolovkom}
нужно вставить ПЕРЕД кодом
Код HTML:
  1. {block:LANG_PAGE_BODY}
Yar:
Меня это немного смутило, поэтому не стал экспериментировать.
Если нужно вывести виджет перед заголовком, тогда работать не будет, потому что заголовок в коде идет отдельно от других полей, а остальные поля идут из настроек типа контента и в том порядке, в котором они расположены в настройках типа контента. Поэтому если нужно вывести после заголовка или после любого другого поля, то тогда всё будет работать.
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 459
В админке в разделе виджетов наладил, теперь поле сверху.
Конечно, правильнее было бы, если бы поле именно под заголовок разместить можно было, ведь сейчас на страницах списка записей ничего нельзя вставить. Только вниз. А вступительно-пояснительный текст как-то там не очень будет смотреться.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 2093
Yar:
Конечно, правильнее было бы, если бы поле именно под заголовок разместить можно было, ведь сейчас на страницах списка записей ничего нельзя вставить. Только вниз. А вступительно-пояснительный текст как-то там не очень будет смотреться.
Простите, но я Вас не совсем понял.

Если Вы хотите вывести виджет под заголовком, но не хотите выводить его в списке, то при создании поля укажите, что его не нужно выводить в списке. Речь ведь изначально шла о странице записи, а не о списке записей.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.