Есть непреодолимое желание периодически добавлять в текст некоторых нод (в основном статических страниц) ПХП код. Например для создания страницы "не напрягающей" статистики:
За все время существования сайта на нем было создано total_node записей,
и это при учете того, что было заблокировано capcha_dinay_count сообщений...
Но есть проблема, как это сделать? Нашел переменные на сайте http://api.drupal.ru/ например массив заголовков тем форума, просто вставка кода в ноду ничего не дает.
<?php
global $forum_topic_list_header;
?>
А что делать с этими объявленными переменными дальше, я не знаю...
Комментарии
Запишитесь на курсы по программированию...
Помимо посещения курсов, еще можно включить модуль PHP Filter и установить формат ввода текста ноды в PHP Code.
А дельный совет кто нибудь даст? Я не спец в ПХП но здравомыслящий человек.
Я в ноду ПХП могу добавлять, но прошу помощи как добавлять именно друпаловские объявленные переменные...
Хотя в моем вопросе все написано.
Тогда зачем за Друпал беретесь? Начинать же нужно с основ.
Ну а где там print ?
В вашем примере теоретически должно быть что то вроде
<?php global $forum_topic_list_header;
print $forum_topic_list_header;?>
может поможет:
http://drupal.org/project/token_filter
http://drupal.org/project/reptag
Не хотелось ставить для этого дополнительные модули, хотелось сделать это как то проще 1-2 строками
Теоретически да, но на практике совсем не так. Если я вставляю простой ПХП код в тело ноды, то проблем нет:
<?phpecho 'Now: '. date('Y-m-d') ."\n";?>
Отображает все корректно, но вот переменные самого Друпала вставить так просто не получается, нужно еще что то...
Вот например в модуле КАПЧА есть такой код, который возвращает количество провальных вводов КАПЧИ:
* Implementation of hook_requirements().
*/
function captcha_requirements($phase) {
$requirements = array();
$t = get_t();
if ($phase == 'runtime') {
// show the wrong response counter in the status report
$requirements['captcha_wrong_response_counter'] = array(
'title' => $t('CAPTCHA'),
'value' => format_plural(
variable_get('captcha_wrong_response_counter', 0),
'Already 1 blocked form submission',
'Already count blocked form submissions'
),
'severity' => REQUIREMENT_INFO,
);
}
return $requirements;
}
Я подозреваю что вот этот кусок:
'title' => $t('CAPTCHA'),
'value' => format_plural(
variable_get('captcha_wrong_response_counter', 0),
А если точнее, то эта строка:
variable_get('captcha_wrong_response_counter', 0),
Делает то что мне нужно, но без строки:
$requirements['captcha_wrong_response_counter']
Ничего не получится...
А вот совокупить это все, да еще и чтобы работало... Помогите.
У вас сильно пространный вопрос. Нет такого рецепта - как вывести переменную там то. Думаю, 90% обсуждений на этом форуме вращается вокруг "как вывести нужное там то"