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

Собственные title и h1 на странице компонентов

Страницы: 1  |  2  |  3
29.05.2009, 16:28
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

pe3udent писал(а):
Не так. Они доступны и в макетах тоже.

Но только при $action == "full".

Niketas писал(а):
Подскажите, что я делаю не так из описанного, пожалуйста.

$current_cc[Sub_Class_Name] Вам в помощь. Вместо $f_AltTitle и $current_sub[AltTitle].

chance favours the prepared mind
29.05.2009, 18:16
Гость
Гость

2pe3udent: к сожалению, всё так. В разделах есть поле, в компоненте есть поле, в макете дизайна указанную строку прописал в Header, в разделе используется этот макет дизайна, компонент включен тот, который нужен.

Aykroyd писал(а):
pe3udent писал(а):
Не так. Они доступны и в макетах тоже.

Но только при $action == "full".

А эту переменную можно поменять, например, в шаблоне компонента или в макете дизайна?

Aykroyd писал(а):
Niketas писал(а):
Подскажите, что я делаю не так из описанного, пожалуйста.

$current_cc[Sub_Class_Name] Вам в помощь. Вместо $f_AltTitle и $current_sub[AltTitle].

К сожалению, даже когда указываю $current_cc[MyTitle], значение этого поля не выводится. Причём значение поля $current_sub[MyTitle] вполне себе выводится, как на той странице, где $current_cc[MyTitle] ($f_MyTitle) заполнено, так и там, где этого поля вообще нет.
29.05.2009, 18:20
Niketas

Зарегистрирован:
2009-03-13
Сообщений: 8

Aykroyd писал(а):
pe3udent писал(а):
Не так. Они доступны и в макетах тоже.

Но только при $action == "full".

Или можно поподробнее про это поле? Читаю факинг мэньюал документацию, там написано что это скрытое поле, везде проверяют его значение ($action=="index", $action!="full"), но где оно изменяется или как посмотреть его значение в админке не написано. Я лохъ.
29.05.2009, 22:39
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

$action – это не поле, а внутренняя переменная, которая принимает значение "index" в случае отображения на странице списка объектов, или значение "full" в случае отображения одного объекта на отдельной странице. Причем делает она это без какой-либо посторонней помощи. Как следствие, поменять ее значение «вручную» Вам не удастся.

Мне кажется, что вся путаница у Вас происходит оттого, что Вы одновременно пытаетесь решить сразу несколько совершенно разных по своей сути задач:

Цитата:
• Название страницы-раздела одновременно является и её title, и h1.
• Название страницы-компонента одновременно является и её title, и текстом ссылки в меню.
• Страница-компонент имеет тот же h1, что и родительская страница-раздел.


Решать эти задачи надо по порядку. Определитесь, с какого пункта Вы хотите начать, что именно Вы предпринимаете для решения, и что у Вас при этом не получается. Только не мешайте все в кучу.

chance favours the prepared mind
01.06.2009, 07:28
pe3udent
Артур Юсупов

Зарегистрирован:
2008-04-03
Сообщений: 220

Aykroyd писал(а):
Но только при $action == "full".


Ну это, думаю, и так понятно ;)
03.06.2009, 00:01
Niketas

Зарегистрирован:
2009-03-13
Сообщений: 8

Aykroyd писал(а):
$action – это не поле, а внутренняя переменная, которая принимает значение "index" в случае отображения на странице списка объектов, или значение "full" в случае отображения одного объекта на отдельной странице. Причем делает она это без какой-либо посторонней помощи. Как следствие, поменять ее значение «вручную» Вам не удастся.

Я правильно понимаю, что если на странице находится один компонент, то $action=="full"?

Aykroyd писал(а):

Мне кажется, что вся путаница у Вас происходит оттого, что Вы одновременно пытаетесь решить сразу несколько совершенно разных по своей сути задач:

Цитата:
• Название страницы-раздела одновременно является и её title, и h1.
• Название страницы-компонента одновременно является и её title, и текстом ссылки в меню.
• Страница-компонент имеет тот же h1, что и родительская страница-раздел.


Решать эти задачи надо по порядку. Определитесь, с какого пункта Вы хотите начать, что именно Вы предпринимаете для решения, и что у Вас при этом не получается. Только не мешайте все в кучу.

Да вроде бы не одновременно пытаюсь решить, но всё вместе. Попробую разложить подробнее, что я пытаюсь делать.

Как решить первый вопрос я понял: у меня получается создать поле, указать его значение и вывести в макете дизайна для нужной мне страницы-раздела. Таким образом я могу указать любой title, любой h1, и вообще настроить вывод какой угодно строковой переменной в любом месте страницы-раздела.

Но для страницы-компонента всё на прежнем месте: я не могу использовать переменные, подобные $f_AltTitle, прямо в макете дизайна, т. к. они обрабатываются (т. е. выдают значение) только в шаблоне отображения компонента, а нужные мне части макета (title и h1) находятся вне этого шаблона.

В принципе, я делал всё так, как написал Резидент:
pe3udent писал(а):
По шагам.
1. В системные таблицы "Разделы" поле AltTitle добавили?
2. В компоненты поле AltTitle добавили?
2. В макете прописали именно так? -
Код:
<title>".( $f_AltTitle ? $f_AltTitle : ( $current_sub[AltTitle] ? $current_sub[AltTitle] : $f_title ) )."</title>

3. Макет дизайна точно используется разделом?
03.06.2009, 20:24
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

Niketas писал(а):
Я правильно понимаю, что если на странице находится один компонент, то $action=="full"?

Нет, неправильно. $action=="full" тогда, когда у Вас отображается один объект на отдельной странице (см. поле компонента «Шаблон отображения одного объекта на отдельной странице»).

Niketas писал(а):

Как решить первый вопрос я понял: у меня получается создать поле, указать его значение и вывести в макете дизайна для нужной мне страницы-раздела.

Аминь)

Niketas писал(а):

Но для страницы-компонента всё на прежнем месте: я не могу использовать переменные, подобные $f_AltTitle, прямо в макете дизайна, т. к. они обрабатываются (т. е. выдают значение) только в шаблоне отображения компонента, а нужные мне части макета (title и h1) находятся вне этого шаблона.

Еще раз повторяю: переменные, подобные $f_AltTitle, видны и в макетах дизайна, но только при $action=="full". А у Вас содержимое страниц выводится в поле компонента «Объект в списке» (по всей видимости). Следовательно $action=="index".

Совет: не мучайтесь, что Вам мешает представить Ваши страницы не отдельными компонентами внутри определенного раздела, а отдельными подразделами этого раздела? Ведь хрен редьки не слаще.

chance favours the prepared mind
31.07.2009, 02:59
Niketas

Зарегистрирован:
2009-03-13
Сообщений: 8

Чтобы всё было охуенно, нужно в МАКЕТЕ в поле «Шаблоны вывода навигации» написать такую строчку:
eval($current_cc[CustomSettings]);
И всё! Можно пиздить оттудова $CustomSettings[CustomTitle] ? $CustomSettings[CustomTitle]. И всё работает.
18.08.2009, 14:12
ooo
ПАЛНАРИС

Зарегистрирован:
2009-06-18
Сообщений: 57

Хм... использую такой конструкт:

Код:
<title>".opt_case("$current_catalogue[Catalogue_Name]" != $f_title, "$current_catalogue[Catalogue_Name] — $f_title", "$current_catalogue[Catalogue_Name]")."</title>


А в компоненте соответственно, поле title - заголовок статьи, к примеру...
06.04.2010, 15:13
Гость
Гость

pe3udent писал(а):
По шагам.
1. В системные таблицы "Разделы" поле AltTitle добавили?
2. В компоненты поле AltTitle добавили?
2. В макете прописали именно так? -
Код:
<title>".( $f_AltTitle ? $f_AltTitle : ( $current_sub[AltTitle] ? $current_sub[AltTitle] : $f_title ) )."</title>

3. Макет дизайна точно используется разделом?


Все сделал как здесь сказано. Появилось в режиме редоктирование поле для заголовка, вписываю туда заголовок который мне необходим, сохраняю, но заголовок на сайте не изменился на тот текст что был введен.
Помогите плиз!
198 196 2011-01-26 14:07:45 9664
Страницы: 1  |  2  |  3
Описание проекта