Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Разные макеты дизайна для раздела и для объекта

18.09.2013, 16:06
Людмила


Зарегистрирован:
2013-06-21
Сообщений: 6

Здравствуйте, можно ли сделать разные макеты дизайна для раздела и для объекта. Как это можно реализовать?
19.09.2013, 09:05
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 386

<?=$fullLink ?>?template=XXX

XXX - НОМЕР МАКЕТА

Пример ссылки в "объект в списке" компонента, который выводит нужные Вам объекты:

Код:
<a href="<?=$fullLink ?>?template=XXX"></a>


Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
19.09.2013, 13:19
Людмила


Зарегистрирован:
2013-06-21
Сообщений: 6

Спасибо, получилось
19.09.2013, 14:02
Людмила


Зарегистрирован:
2013-06-21
Сообщений: 6

Да, вот только ссылки получились вида url?template=116. От этого можно как-то избавиться?
21.09.2013, 15:28
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Нет, к сожалению, нельзя.
Но вы можете сделать универсальный макет дизайна, внутри которого проверять значение переменной $action. Если $action=='full', то значит макет используется в данный момент для полного просмотра объекта. Если $action=='index',то для просмотра списка объектов.

Существует, конечно, еще "шибко умное" улыбка) решение - отключить макет дизайна в разделе и вызывать его в префиксе и в суффиксе объектов "вручную", подгружая его из БД и выполняя через eval. В шаблоне полного просмотра аналогично.
23.09.2013, 12:11
Людмила


Зарегистрирован:
2013-06-21
Сообщений: 6

Спасибо за ответ. Я просто изменила шаблон раздела, чтобы нужная для объекта информация выводилась только в объекте.
23.09.2013, 22:44
Гость

Зарегистрирован:
1970-01-01
Сообщений: 2

Можно попробовать сделать так, хотя не уверен, что переменные $message и $classID доступны в файле functions.inc.php

в файле:
Код:
/netcat/modules/default/functions.inc.php


пишете следующее


Код:
global $template, $classID, $message;
if($message && $classID == [нужный компонент]){
$template = [нужный темплейт];
}
24.09.2013, 11:23
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

То есть вы сделали разные разделы для "Полного" просмотра объекта и для "Списка объектов"?
198 196 2013-09-24 11:23:10 13304
Описание проекта