Мне нужно изменить шаблон в одном из Drupal 6 project.Drupal 6 template - Лучшее предложение для изменения пути изображения в препроцессе?
На каждом типе узла «страница» хранится изображение в поле CCK. Я создал новый шаблон дизайна, чтобы изменить дизайн с помощью CSS. Но теперь заказчик должен изменить изображения, которые находятся в поле CCK с именем «field_obr» (по одному на узел) только в моем новом шаблоне дизайна. То, что он может переключать темы, и изображения будут соответствовать тем (текущий дизайн = исходные изображения из CCK, новый дизайн = изображения из измененного пути из исходного пути поля CCK). Имена изображений могут быть одинаковыми, только каталог изменился.
Оригинальные изображения сохраняются в папке, как:
sites/default/files/image1.jpg
sites/default/files/image2.jpg
...
Я хочу изменить в моей новой теме путь к изображению:
sites/default/files/new_img/image1.jpg
sites/default/files/new_img/image2.jpg
...
= добавить папку «/ new_img» в пути до изображения. (Или позже путь к моему файлу шаблона - Тхак Я знаю, как, но я смотрю здесь принцип.)
шаблона выводит изображение:
<img class="imagefield imagefield-field_obr" width="229" height="346" alt="" src="/sites/default/files/radek_home_0.jpg?1354577633" />
У меня есть тёплые это решение:
Первое решение - изменение выходного $ контента через preg_replace()
в «узел-page.tpl.php» смотреть в $ содержание функции preg_replace через в(), найти путь и изменить/добавить как я хочу. - Это выполнимо, но я считаю, что это не оптимальное решение для Drupal-потока.
Второе решение - с помощью hook_page_alter() или hook_page_build() функции
У меня есть кладезь, что содержание переменных может быть изменена за счет использования hook_page_alter() и hook_page_build() функции.
я ставлю эти функции на мой «template.php» перед тем phptemplate_preprocess_page (& $ вары) функция, бутон, кажется, что они ничего не делают:
function hook_page_build(&$page) {
// print_r($page);
$page['node']->field_obr['0']['filepath'] = "sites/default/files/new_img/radek_home_0.jpg";
echo "Test function hook_page_build() has run";
}
Чем я нашел в доку, что эти функции для Drupal 7+ :-(
Вопрос:. Может кто-нибудь объяснить мне лучшее решение Тхо решить ситуацию, описанную в начале Как достичь его через Profi «? Drupal путь» Спасибо Frantisek