Позиция в шаблоне компонента?

#1 17 августа 2014 в 16:35
Здравствуйте!
Речь о второй версии системы.
Есть ли возможность вывести позицию в шаблоне компонента и, если да, то каким образом?
Спасибо!
#3 17 августа 2014 в 20:52


Олег Васильевич я, разве это не подходит instantcms.ru/forum/thread18813-1.html ?

scanread
Олег Васильевич я по идиотски вопрос задал. Извините. Исправил.
#4 17 августа 2014 в 21:10
Олег Васильевич я, ничего не понял, а так хотел помочь ;)
#5 18 августа 2014 в 10:54
PIN, к примеру, на странице пользователя, под аватаром, вывести какой-то модуль. Или на странице блогов, в самом посте, снизу вывести модуль и т.п. Т.е., в самом компоненте, а не в указанных в шаблоне позициях.
#6 18 августа 2014 в 11:08
scanread, Для начала можно создать "страницу для привязки виджетов" к любому содержимому ICMS2, фильтрами выбирается все что угодно. Падает в "Пользовательские". А там хоть для конкретного блога, хоть для группы, хоть через страницу виджеты показывай… На этом фантазия не ограничивается. Помощь
Если задача прикрутить модуль в середине текста, то такой вариант еще не разбирал…
#7 18 августа 2014 в 18:02


Если задача прикрутить модуль в середине текста, то такой вариант еще не разбирал..

PIN
Именно внутри компонента и именно во второй версии системы
#8 29 сентября 2014 в 10:33
Олег Васильевич я, нашли решение?
Я задумал вывести позицию виджета в теле контента (хочу перенести виджет <?php $this->widgets('left-top'); ?> после хлебных крошек и заголовка), но вот вопрос в main.tpl.php есть <?php $this->body(); ?>, мне не ясно откуда он формирует тело, или из условий какой тип шаблона подключать default_list.tpl.php (default_item.tpl.php) или есть еще какой то промежуточный файл?
#9 23 октября 2014 в 21:40
На данный момент нет простого способа сделать это, поскольку тело формируется до того, как запускаются виджеты.
В будущем посмотрим можно ли это реализовать.

мне не ясно откуда он формирует тело

jorgovich
Контроллер с помощью метода render() шаблона пишет в буфер, а body() просто выводит содержимое этого буфера
#10 23 октября 2014 в 22:54

В будущем посмотрим можно ли это реализовать.

r2
Ок, подождём…
#11 24 октября 2014 в 21:12
r2, вообще мне не понятна логика сбора данных шаблоном, например формирование заголовка списка типа контента, который на сколько я понял передается из файлов папочки контроллера контент напрямую в боди… Я как то предполагал что должно быть по логике вывести заголовок сразу в шаблоне из папочки контент, но значение у меня не получилось вывести, я пришел к выводу что шаблон формируется с точностью наоборот, сначала получается main располагает позиции какие для виджетов какие на боди, папка контент фактически не связан с ним, контент передает свои данные в контроллер который получает переменные $items_list_html, и не получится передать переменные назад в default.list.tpl, вот как то этот момент мне кажется непонятным, по логике мне как то видится обратная зависимость шаблон контролера должен отдать значения в шаблон для контента (который в свою очередь должен быть связан с типом контента) контент должен передать все переменные в позицию боди, я просто еще не врубился в структуру шаблона, и хотелось бы понять…
Вообще если не трудно было бы замечательно наглядно и понятно как из чего собирается если отобразить картинкой в виде дерева со стрелками (наглость конечно с моей стороны просить, но хоть от руки в пейнте), тогда некоторые вопросы отпадут сами собой…
#12 24 октября 2014 в 21:37
jorgovich, честно говоря я не совсем понял вопрос.
Список контента рендерится так:

1. В контроллере рендерится сам список (default_list.tpl.php) и помещается в переменную
2. Эта переменная передается в шаблон категории (category_view.tpl.php), в котором добавляется заголовок, глубиномер
3. Далее результат помещается в буфер шаблона
4. В main.tpl.php выводится содержимое буфера с помощью $this->body()

Именно в таком порядке, сначала контроллер, потом общий шаблон.
Обратный порядок невозможен, поскольку тогда контроллер не сможет добавить теги в <head> (ведь главный шаблон уже будет отрендерен).
#13 25 октября 2014 в 12:28
Вот r2, Вы подтвердили мои наблюдения, я просто как то предполагал, что должно быть наоборот:
Шаблон категории (category_view.tpl.php) рендерит массив ведь фактически он получается однотипный для всей структуры, а дальше переменные передать уже не массивом в (default_list.tpl.php) где мы в соответствии с предполагаемой разметкой контента должны распределить их по местам вывода для соответствующих типов контента, потом выводить в буфер…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.