Задавайте вопросы про Drupal - 3

big boy
На сайте с 18.11.2006
Offline
354
#81

Есть один тип материала, который работает на 20 терминов таксономии.

Как можно прописать в page title токены, но чтобы они ставились в зависимости от таксономии?

Токены кастомные, в идеале нужно чтобы тайтл содержал собсвтенно сам тайтл + мой токен, но не для всех материалов данного типа, а только для определенных терминов.

---------- Добавлено 22.05.2015 в 14:59 ----------

Или может CCK как-то использовать для этого? Допустим галочка стоит - ставим токен, галочки нет - не ставим. Это возможно?

---------- Добавлено 22.05.2015 в 15:53 ----------

Есть модуль auto nodetitle и он позволяет использовать php для генерации заголовков. Есть ли похожее решение для page title?

✔ Как я генерирую статьи через ИИ, которые приносят трафик - https://webmasta.ru/blog/16-vkalyvayut-roboty-ne-chelovek-stati-s-pomoschyu-ii-kotorye-prinosyat-trafik
Alangasar
На сайте с 06.11.2008
Offline
98
#82

Хз, как там в админке этим можно рулить )

Я бы посмотрел в сторону hook_node_view и в зависимости от условий устанавливал тайтл. У page_title есть такая функция: page_title_set_title('Тайтл');

big boy
На сайте с 18.11.2006
Offline
354
#83
inst-a:
но честно говоря: ряд вопросов от big boy - вызывает недоумение
изначально правильная структуризация сайта - таких вопросов не генерирует

Когда сайту уже 4 года и в процессе своей жизнедеятельности появляются новые потребности, то об изначальной структуризации говорить поздно. Вы же не знаете всю специфику, верно? Зачем тогда меня, как котёнка в лужу тыкаете носом?

Alangasar, спасибо за наводку! Решение ниже, если кому пригодится вдруг. Работает на D6, у 7 думаю логика такая же.

1) Сделал текстовое CCK поле с переключателем да/нет.

2) В template.php прописал такой код:

function phptemplate_preprocess_page(&$vars) {
if (isset($vars['node']) && $vars['node']->type == 'ТИП-МАТЕРИАЛА' && $vars['node']->field_МОЁ-ПОЛЕ[0]['value'] == '1'){
$vars['head_title'] = $vars['node']->page_title .' '. token_replace('[МОЙ-ТОКЕН]');
}
}

Соответственно вместо ТИП-МАТЕРИАЛА, МОЁ-ПОЛЕ и МОЙ-ТОКЕН надо использовать Ваши данные.

Код проверяет тип материала и стоит ли галочка у созданного CCK поля на "да". У этого CCK поля такие значения в свойствах:

0|Нет

1|Да

Условия удовлетворены - добавляет токен к тайтлу страницы в head.

Если есть у кого что добавить или изменить - жду комменты. Но вроде и так всё работает )))

---------- Добавлено 22.05.2015 в 18:55 ----------

Плюс у способа в том, что не надо пересохранять или обновлять материал, когда токен обновляется.

Еще бы то же самое применить к анкору ссылки на данный материал. Куда копать?

G
На сайте с 22.09.2007
Offline
161
#84
big boy:
Если есть у кого что добавить или изменить - жду комменты. Но вроде и так всё работает )))

Если-бы это был D7, то можно было с помощью правил и Rules Bonus Pack, там как раз действия есть Set page title, идеальный вариант. В D6 версии надо смотреть.

Ещё один вариант - Context с дополнениями (Title Override или Page Title или другими), алгоритм тот-же, что и у Rules (условие->действие)

R7
На сайте с 04.04.2006
Offline
84
#85

Господа, посоветуйте, как можно реализовать такую штуку на D7. Есть на главной блок "Совет дня". В нем нужно настроить вывод анонса случайного материала типа "Статья" - я это сделал с помощью модуля Views, тут все просто. Но это не все: нужно, чтобы раз в сутки выводился новый анонс (т. е. старый материал исчезает, на его месте появляется новый). Во Вьюсе не нашел ничего похожего. Как можно реализовать такую фишку?

Агентство переводов LingvoStar (Киев) www.lingvostar.kiev.ua (www.lingvostar.kiev.ua)
G
На сайте с 22.09.2007
Offline
161
#86
Romero79:
Господа, посоветуйте, как можно реализовать такую штуку на D7. Есть на главной блок "Совет дня". В нем нужно настроить вывод анонса случайного материала типа "Статья" - я это сделал с помощью модуля Views, тут все просто. Но это не все: нужно, чтобы раз в сутки выводился новый анонс (т. е. старый материал исчезает, на его месте появляется новый). Во Вьюсе не нашел ничего похожего. Как можно реализовать такую фишку?

Context + Context Date + Context Block Disable (два блока, один выводим, другой прячем, и наоборот)

или блок с PHP, где проверяем нужные условия по времени/дате и в зависимости от результата выводим или блок "Совет дня" или блок "Анонс"

G
На сайте с 22.09.2007
Offline
161
#87
inst-a:
можно ещё насочинять типа

т.е. читать содержимое блока из файла?? а откуда в файле возьмётся URL случайных материалов? URL анонсов? это друпал, тут так нельзя, с таким подходом и друпал можно не ставить.

R7
На сайте с 04.04.2006
Offline
84
#88
gruz_:
Context + Context Date + Context Block Disable (два блока, один выводим, другой прячем, и наоборот)
или блок с PHP, где проверяем нужные условия по времени/дате и в зависимости от результата выводим или блок "Совет дня" или блок "Анонс"

Я не очень точно и полно выразил свою мысль выше. У меня есть на главной странице двухколоночная мини-панель (по сути, блок). Обе колонки представляют собой вьюшки-блоки. Сейча вьюшка слева настроена на вывод анонса материала "статья" в случайном порядке. Так вот, я хочу сделать так, чтобы в этой левой вьюшке автоматически менялся контент каждые 24 часа (тизеры будут браться из уже существующих статей). Я установил все три модуля, о которых вы написали. Попробовал задать реакцию "Disable Block", указав блок "левая вьюшка", а в условии задал время. Ничего не произошло. Затем для интереса задал Disable Block для всей мини-панели. Она благополучно деактивировалась на указанное время. Т. е. колонка в составе мини-панели не хочет убираться, а вся панель убирается. Может, я что-то не так делаю. С php не знаком абсолютно, поэтому предлагать код, как inst-a, не вариант.

[UPDATED] Сделал проще: установил модуль Views random seed, выбрал во вьюшке критерий сортировки Глобальный: Random Seed и поставил опцию Reset Seed в значении "каждый день". Теперь висит анонс одного и того же материала, который, по идее, должен каждые 24 часа меняться рандомно. Посмотрим.

Alangasar
На сайте с 06.11.2008
Offline
98
#89

Закешировать вьюху на сутки и не парится, а то что предлагает inst-a - дурость полная, скажи еще, что код приведенный выше нужно запихать в блок с форматом ввода php.

R7
На сайте с 04.04.2006
Offline
84
#90
inst-a:
А чем плох такой вариант? (он не лучший ИМХО)

Ради ротационной фигни ставить монструозные Context + Context Date + Context Block Disable ???

Вы сами несколько страниц назад были против модуля Context ... ))

Я, кстати, выше написал, что решил проблему модулем Views random seed. Может, и с php повозился бы, но я совсем чайник в нем.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий