Drupal 7 - Добавление изображения в файл темы node.tlp.php - PullRequest
2 голосов
/ 18 марта 2011

Я пытаюсь добавить изображение (маленькая иконка в виде стрелки), которое загружается в каталог изображений в файлах моей темы 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?

Спасибо!

Ответы [ 3 ]

5 голосов
/ 18 марта 2011

Использование 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">

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

1 голос
/ 05 мая 2011

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

Так что код может быть что-то вроде:

<img src="/<?php print $directory; ?>/images/arrow-right.gif" width="20" height="13" alt="Arrow Right">
0 голосов
/ 31 января 2012

Использовать массив переменных 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

...