nodewords и cck

Главные вкладки

Аватар пользователя garamond garamond 19 ноября 2006 в 19:44

Ну вот и беда пришла...
не дружат эти два модуля между собой!
думаю что многие используют cck - а как жить без метатэгов?

может кто подскажет как решить проблему?

Комментарии

Аватар пользователя garamond garamond 19 ноября 2006 в 20:59

спасибо Dan!
даже не зная PHP с твоей подсказки за 2-е мин разобрался

в <head> добавил строчку:
<?php print '<meta name="description" content="' . $title .'" />' ?>

и всё заработало как хотелось!

Аватар пользователя Dan Dan 19 ноября 2006 в 22:52

Стоп!
Это никак не связано с CCK, к тому же пихать тайтл в метатэги нет смысла. Тайтл и так имеет особое значение у поисковиков незачем его дублировать.

А использовать поля ССК надо по другому. Если нужно - напишу.

Аватар пользователя garamond garamond 20 ноября 2006 в 0:20

а что тогда из того что есть на странице засовывать в дескрипшн?
насколько я знаю - желательно несколько разбавленных ключевиков из title
вот только как это всё собрать для человекочетаемости...

(у меня заголовок формируется из нескольких полей cck)

Аватар пользователя garamond garamond 20 ноября 2006 в 16:31

недружественность обнаружил на собственной шкуре - стал отключать модули по одному Smile

    * warning: Cannot use a scalar value as an array in C:\AppServ\www\face\modules\cck\text.module on line 111.
    * warning: Cannot use a scalar value as an array in C:\AppServ\www\face\modules\cck\number.module on line 112.
    * warning: Cannot use a scalar value as an array in C:\AppServ\www\face\modules\cck\text.module on line 111.
    * warning: Cannot use a scalar value as an array in C:\AppServ\www\face\modules\cck\number.module on line 112.

подробнее потом нашёл подтверждение тут: http://drupal.org/node/88285

Аватар пользователя garamond garamond 20 ноября 2006 в 16:48

не отключать - работать не будет Smile
да и кривой он изначально... только альтернативы пока нет

какие плюсы:
можно ручками определить для каждой страницы дескрипш и кейворд

минусы:
а если страниц несколько тысяч?))
то на "автомате" он запихивает текст с начала страницы
...нещадно обрубая по указанное количество символов

абырвалк (с) "Собачье сердце"

Аватар пользователя clubwave.ru clubwave.ru 20 ноября 2006 в 16:55

что значит не отключать работать не будет??

ну нормально текст снача страницы... или ручками дескрипшн, а как ещё? сам чтоб генерировал, типа интеллектуально, учитывая особенности поисковых систем..

Аватар пользователя clubwave.ru clubwave.ru 20 ноября 2006 в 17:16

так путём просмотра кода выяснил, что дескрипшн у cck вообще не пишется...

Как исправить? желательно с обрезкой до длинны указанной в настройках nodewords ?

Аватар пользователя garamond garamond 20 ноября 2006 в 18:36

Dan - обещал помочь в этом вопросе..
а пока думаю что хуже не будет если title дублировать в дескрипшн...

и ещё... я рекомендовал(бы) заголовок в node.tpl.php или где там у вас...
переделать из h2 в h1, реально рулит! (проверял)

эхх... и почему я не знаю PHPэх...

Аватар пользователя clubwave.ru clubwave.ru 20 ноября 2006 в 18:50

да сам знаю.. дано уже переделан в H1

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

Аватар пользователя Dan Dan 21 ноября 2006 в 0:03

"Dan - обещал помочь в этом вопросе.."
Хм, уже обещал? Smile
Попробую посмотреть, как время будет - извини не сегодня-завтра....

Аватар пользователя Dan Dan 21 ноября 2006 в 18:52

Допустим у нас есть поле description (тип text). Тогда следующий код, втавленный в page.tpl.php, помеcтит в страницу содержимое поля:
<?php
if( arg(0) == 'node' && is_numeric(arg(1)))
{
$n = node_load(arg(1));
foreach ((array)$n->field_description as $num => $item)
print($item['value']);
}?>

Аватар пользователя clubwave.ru clubwave.ru 24 ноября 2006 в 12:38

вообще не понял этого кода..

Подскажи, есть у нас node-content_text.tpl.php

есть поле с кратким описанием, как содержимое этого поля отправить в загаловок именно из node-content_text.tpl.php

И ещё сложнее, есть другой темплейт, в нём есть только длинное описание, как из него отправить содержимое в загаловок, но не полностью а скажем 255 символов??

Аватар пользователя Dan Dan 24 ноября 2006 в 19:34

Из node-content_text.tpl.php - не знаю как. И скорее всего никак, ибо этот файл вызывается когда надо отобразить поле, а поле отображается в теле страницы. Нам же надо засунуть содержимое ентого поля в <head>, я правильно понимаю?
Функцию обрезки не помню. Посмотри в документации работу с юникод-строками.

Аватар пользователя clubwave.ru clubwave.ru 26 ноября 2006 в 11:32

не верю! думаю можно.. на дел слишком много, чтобы ещё документацию читать.. будем надеятся зайдёт тот, кто разбирается..

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

Аватар пользователя Dan Dan 29 ноября 2006 в 16:41

Я тоже не верю Smile
Скорее так: "нельзя, но если очень хочется, то можно!". У меня пока тоже времени нет, но вопрос интересный!

Аватар пользователя clubwave.ru clubwave.ru 29 ноября 2006 в 18:29

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