Стоп!
Это никак не связано с CCK, к тому же пихать тайтл в метатэги нет смысла. Тайтл и так имеет особое значение у поисковиков незачем его дублировать.
А использовать поля ССК надо по другому. Если нужно - напишу.
а что тогда из того что есть на странице засовывать в дескрипшн?
насколько я знаю - желательно несколько разбавленных ключевиков из title
вот только как это всё собрать для человекочетаемости...
(у меня заголовок формируется из нескольких полей cck)
недружественность обнаружил на собственной шкуре - стал отключать модули по одному
* 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.
ну нормально текст снача страницы... или ручками дескрипшн, а как ещё? сам чтоб генерировал, типа интеллектуально, учитывая особенности поисковых систем..
а вот тайтл дублировать в дескрипшн тупо... пот ты в яндексе нашёл сайт... сверху название, и снизу вместо описания тоже название... очень информативно.. блин
Допустим у нас есть поле 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']);
}?>
есть поле с кратким описанием, как содержимое этого поля отправить в загаловок именно из node-content_text.tpl.php
И ещё сложнее, есть другой темплейт, в нём есть только длинное описание, как из него отправить содержимое в загаловок, но не полностью а скажем 255 символов??
Из node-content_text.tpl.php - не знаю как. И скорее всего никак, ибо этот файл вызывается когда надо отобразить поле, а поле отображается в теле страницы. Нам же надо засунуть содержимое ентого поля в <head>, я правильно понимаю?
Функцию обрезки не помню. Посмотри в документации работу с юникод-строками.
не верю! думаю можно.. на дел слишком много, чтобы ещё документацию читать.. будем надеятся зайдёт тот, кто разбирается..
Кстати, сейчас активно стали страницы индексироваться на новом сайте и яндекс дескрипшн сам делает, в заголовке конкретной страницы есть только ключевики..
да, уповаю на вас, у меня со временем вообще завал, так что думать некогда, точнее в моём случае это будет не как думать а как тыкать.. научный метод кстати
Комментарии
в теме надо вытягивать из ноды метатэги, прописанные в одном из полей.
спасибо Dan!
даже не зная PHP с твоей подсказки за 2-е мин разобрался
<?php print '<meta name="description" content="' . $title .'" />' ?>
и всё заработало как хотелось!
Стоп!
Это никак не связано с CCK, к тому же пихать тайтл в метатэги нет смысла. Тайтл и так имеет особое значение у поисковиков незачем его дублировать.
А использовать поля ССК надо по другому. Если нужно - напишу.
а что тогда из того что есть на странице засовывать в дескрипшн?
насколько я знаю - желательно несколько разбавленных ключевиков из title
вот только как это всё собрать для человекочетаемости...
(у меня заголовок формируется из нескольких полей cck)
А в чём их недружественность заключается?
недружественность обнаружил на собственной шкуре - стал отключать модули по одному
* 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
Ну а если не отключать?
Я так понимаю метадескрипшн не всегда корректно генерируется?
не отключать - работать не будет
да и кривой он изначально... только альтернативы пока нет
какие плюсы:
можно ручками определить для каждой страницы дескрипш и кейворд
минусы:
а если страниц несколько тысяч?))
то на "автомате" он запихивает текст с начала страницы
...нещадно обрубая по указанное количество символов
абырвалк (с) "Собачье сердце"
что значит не отключать работать не будет??
ну нормально текст снача страницы... или ручками дескрипшн, а как ещё? сам чтоб генерировал, типа интеллектуально, учитывая особенности поисковых систем..
так путём просмотра кода выяснил, что дескрипшн у cck вообще не пишется...
Как исправить? желательно с обрезкой до длинны указанной в настройках nodewords ?
"не отключать"="отключать"
"сам чтоб генерировал, типа интеллектуально" - желательно
так чего сделать? в шаблон CCK добавить -
<?php print '' ?>
и всё... пусть весь текст в дескрипшене будет?
Dan - обещал помочь в этом вопросе..
а пока думаю что хуже не будет если title дублировать в дескрипшн...
и ещё... я рекомендовал(бы) заголовок в node.tpl.php или где там у вас...
переделать из h2 в h1, реально рулит! (проверял)
эхх... и почему я не знаю PHPэх...
да сам знаю.. дано уже переделан в H1
а вот тайтл дублировать в дескрипшн тупо... пот ты в яндексе нашёл сайт... сверху название, и снизу вместо описания тоже название... очень информативно.. блин
"Dan - обещал помочь в этом вопросе.."
Хм, уже обещал?
Попробую посмотреть, как время будет - извини не сегодня-завтра....
Ждём Дэна..
Допустим у нас есть поле 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']);
}?>
вообще не понял этого кода..
Подскажи, есть у нас node-content_text.tpl.php
есть поле с кратким описанием, как содержимое этого поля отправить в загаловок именно из node-content_text.tpl.php
И ещё сложнее, есть другой темплейт, в нём есть только длинное описание, как из него отправить содержимое в загаловок, но не полностью а скажем 255 символов??
Из node-content_text.tpl.php - не знаю как. И скорее всего никак, ибо этот файл вызывается когда надо отобразить поле, а поле отображается в теле страницы. Нам же надо засунуть содержимое ентого поля в <head>, я правильно понимаю?
Функцию обрезки не помню. Посмотри в документации работу с юникод-строками.
не верю! думаю можно.. на дел слишком много, чтобы ещё документацию читать.. будем надеятся зайдёт тот, кто разбирается..
Кстати, сейчас активно стали страницы индексироваться на новом сайте и яндекс дескрипшн сам делает, в заголовке конкретной страницы есть только ключевики..
Я тоже не верю
Скорее так: "нельзя, но если очень хочется, то можно!". У меня пока тоже времени нет, но вопрос интересный!
да, уповаю на вас, у меня со временем вообще завал, так что думать некогда, точнее в моём случае это будет не как думать а как тыкать.. научный метод кстати