Здравствуйте!
Версия 6,10
Необходимо добавить в заголовок страниц на сайте мета-теги
endyceo создал блок с соответствующим php кодом.
Проблема в том, что если не включаешь модуль php code, то теги генерируются, но в заголовке сайта торчат кишки - видно вызов php функций - не хорошо.
А если включаешь php code, то выпадает ошибка
Parse error: syntax error, unexpected T_STRING in /home/u1912/public_html/includes/common.inc(1645) : eval()'d code on line 2 и теги не генирируются.
Куда копать друзья? Или может вообще для мета-тегов есть модуль какой нибудь?
В 1645 строке, соответственно:
а с 1628-1653:
global $theme_path, $theme_info, $conf;
// Store current theme path.
$old_theme_path = $theme_path;
// Restore theme_path to the theme, as long as drupal_eval() executes,
// so code evaluted will not see the caller module as the current theme.
// If theme info is not initialized get the path from theme_default.
if (!isset($theme_info)) {
$theme_path = drupal_get_path('theme', $conf['theme_default']);
}
else {
$theme_path = dirname($theme_info->filename);
}
ob_start();
print eval('?>'. $code);
$output = ob_get_contents();
ob_end_clean();
// Recover original theme path.
$theme_path = $old_theme_path;
return $output;
}
Комментарии
А как на счет того, что бы прямо в page.tpl.php прописать мета теги?
Если нужны динамичные теги, то там же делаете print $var
А все необходимые переменные подготавливаете в tamplate.php
для мета-тегов есть модуль nodewords
а в коде косяк, скобку наверно незакрыли
Да, поставил nodewords - полностью удовлетворяет!
Спасибо!
У меня подобная ошибка:
Parse error: syntax error, unexpected '>' in /home/.../public_html/.../includes/common.inc(1695) : eval()'d code on line 1
Вот строчка 1695:
print eval('?>'. $code);
Как исправить можно?
Подскажите кто-нибудь что делать!
Я не могу найти решения.
Внимательный читатель заметит что ошибка не в файле common.inc, а я в коде который вы разместили
Так код же из файла. Какая там ошибка?
Будем спорить?
Я этот фрагмент кода скопировал из файла common.inc на 1695 строке.
Увы, но я не программист. И я не знаю что делать.
Дубль два:
Внимательный читатель заметит что ошибка не в файле common.inc, а я в коде который вы разместили, видимо, в блоке
У меня это появилось после создания пары новых полей в профиле.
Сообщение об ошибке в профиле пользователя.
Из-за полей чтоли этих?
Ошибка в common.inc слишком общая и не связана с ошибкой в файле ядра - там всё ок,не надо туда даже лазить
Припомните,какие действия вы совершили ДО
Поотключайте в БД вручную модули и/или блоки,которые,возможно причастны к этому.
Действий было много. Какие именно я не вспомню никак.
Ошибку обнаружил когда зарегистрировался на сайте(как обычный пользователь) и полез в профиль нового пользователя-там она и написана.
В моём админ-профиле ошибки нет.
UHSF: просто на будущее: первым делом всегда ставьте модуль backup_migrate и задавайте автоматический бэкап раз часа в 2
если непонятные проблемы - всегда можно откатить
В вашем случае (ничего не понятно и нет никаких идей на этот счёт)может помочь такое:
1)Открыть PHPMyAdmin и очистить (TRUNCATE,не DROP!) все таблицы с префиксом cache_. Так вы убьёте весь кэш.Бывает помогает
2)Отключить в таблице system все доп модули путём установки "0" в поле status
3)Отключить все посторонние блоки,где это делается уже не помню.Аналогично,поменять 1 на 0
4)Отключить свою тему и поставить гарланд - тоже в таблице system
Если после этого сайт зашевелится, последовательно включать отключенное до появление ошибки. Так можно локализировать проблему
Друпал достаточно устойчивая система,которую так просто убить навсегда затруднительно, если не лезть грязными руками в базу
А можно как-нибудь без базы данных?
Ато мне уже непонятно:
Можно отключая модули из админки?
Эта ошибка у меня была когда в профиле в статусе не было ничего написано.
Написал-статус есть, ошибки нет.)
спасибо! помогло..