Drupal 7 - Добавление изображения в файл темы node.tlp.php

Я пытаюсь добавить изображение (маленький значок в виде стрелки), которое загружается в каталог изображений в моих файлах темы Drupal (root/sites/all/themes/mytheme/images).

Следующее работает на уровне page.tlp.php, а также работает на уровне field.tlp.php, но не будет работать в node.tlp.php. Файл node.tlp.php работает эффективно, но изображение не отображается! Если я вставлю точно такой же код в другие вышеупомянутые шаблоны, он покажет..??

<img src="<?php print base_path() . path_to_theme(); ?>/images/arrow-right.gif" width="20" height="13" alt="Arrow Right">

Любые идеи, как я должен ссылаться на изображение в файле node.tlp.php?

Спасибо!


person KWorrall    schedule 18.03.2011    source источник
comment
Вы видите красный X/сломанное изображение?   -  person Laxman13    schedule 18.03.2011
comment
Laxman, Да, это то, что я получаю. Спасибо.   -  person KWorrall    schedule 18.03.2011


Ответы (3)


Использование drupal_get_path() вместо path_to_theme() может сработать, стоит попробовать

<img src="<?php print base_path() . drupal_get_path('theme', 'THEMENAME'); ?>/images/arrow-right.gif" width="20" height="13" alt="Arrow Right">

Это было предложено здесь

person Laxman13    schedule 18.03.2011

Мне интересно, почему бы не использовать переменную $directory, которая доступна в файле node.tpl.php. Он был доступен в Drupal 6 и, похоже, работает и для D7.

Таким образом, код может выглядеть примерно так:

<img src="/<?php print $directory; ?>/images/arrow-right.gif" width="20" height="13" alt="Arrow Right">
person ALTASO    schedule 04.05.2011

Используйте массив переменных GLOBAL. Они всегда доступны, потому что они глобальны. Они доступны в виде массива.

Я бы просто создал новую переменную в template.php, чтобы ваши файлы шаблонов оставались чистыми:

   // helper variable path to theme
function mytheme_preprocess_node(&$vars) {
$vars['thefullpath'] = $GLOBALS['base_url'] . "/" . $GLOBALS['theme_path'];
}

Затем в файле шаблона:

<img src="/<?php print $thefullpath; ?>/images/arrow-right.gif" width="20" height="13" alt="Arrow Right">

Документация здесь: http://api.drupal.org/api/drupal/globals/7< /а>

person Tai    schedule 30.01.2012