У меня проблемы с использованием кода PHP на моих страницах в области содержимого моего тела. Я неустанно искал на этом сайте, сайте Drupal и других сайтах в целом, поэтому я прошу прощения, если ответ где-то есть на этом сайте, но я не могу его найти и мне нужна помощь.
У нас много информации, которую мы повторно используем на нашем сайте, и которую я хотел бы сохранить в файле PHP как переменные. Сейчас мы делаем это на нашем сайте, но я переписываю весь наш сайт, чтобы использовать Drupal. Так, например, мы продаем программное обеспечение, и я хотел бы иметь переменную для каждого из наших URL-адресов продуктов для различных кнопок «добавить в корзину» на сайте. Я не хочу жестко кодировать URL продукта в каждой ссылке, а вместо этого указать переменную PHP, которую я могу вызвать на любой странице drupal.
Я ничего не могу заставить работать; Я прочитал о нескольких предложениях, но ни один не работает. Я попытался установить переменные как их собственный блок, а затем вызывать их изнутри страницы, когда я создаю новую страницу. Я могу отображать переменные на страницах, но только внутри блока, внутри которого они находятся, я не могу вызвать их и заставить их отображать эхо из других блоков или областей содержимого. Я пытался использовать глобальное ключевое слово (согласно одному предложению), но у меня это не сработало.
Надеюсь, это имеет смысл. Другая информация? Я использую Drupal 6.x, у меня включен код PHP при создании страниц, у меня включен модуль фильтра PHP, я могу получить код PHP для рендеринга, чтобы я знал, что он работает, он просто не работает там, где он мне нужен будет.
Я должен сказать (если это не очевидно, просто прочитав это!), Я новичок в Drupal, поэтому, если кто-нибудь сможет помочь и попытаться объяснить свое предложение настолько просто, насколько это возможно для меня, я буду очень признателен!
Заранее спасибо.
РЕДАКТИРОВАТЬ 3/15/11
Чтобы попытаться объяснить дальше, я выложу пример кода. Я еще этого не сделал, потому что пока еще особо нечего показать, и я подумал, что это может еще больше запутать проблему.
Итак, я создал «страницу» Drupal для наших пробных загрузок программного обеспечения. Переменные PHP, которые я хочу установить, предназначены для наших ссылок на скачивание; Я хочу установить их в одном месте, чтобы, если в будущем ссылка на скачивание изменилась, мне нужно было сделать это только в одном месте. Видите ли, у нас есть ссылки для скачивания на разных страницах сайта. То же самое относится и к нашим ссылкам «купить сейчас». Вот код страницы:
<p>Try [product] free for 30 days.</p>
<!--<p>[token_custom_ewintry]</p>-->
<p><?php global $ewintry; ?><a href="<?php print $ewintry; ?>">Download for Windows PC</a></p>
<p><?php global $emactry; ?><a href="<?php print $emactry; ?>">Download for Mac OS X</a></p>
<p><?php global $ebbtry; ?><a href="<?php print $ebbtry; ?>">Download for BlackBerry</a></p>
<?php
$ebbtryprint = variable_get("ebbtry", "default");
print $ebbtryprint;
?>
<p><a href="<?php print $ewmtry; ?>">Download for Windows Mobile</a></p>
<p><?php global $ipewlstorelink; ?>iPhone, iPad, iPod touch owners: <a href="<?php print $ipewlstorelink; ?>">Download [product] on the iTunes App Store</a>. You'll be able to create 10 cards for free to try [product] before you buy!</p>
Для этого образца я оставил все, что я пробовал. Вы увидите мои вызовы глобальных переменных, которые никогда не работали. У меня есть глобальные переменные, определенные в пользовательском блоке, который я создал и поместил в мою область контента сверху. Я узнал, что, очевидно, ничего из этого региона на самом деле не доступно для содержимого тела моей страницы, потому что вызовы никогда не работали.
У меня есть собственный токен, который я сделал вчера с помощью модуля Tokens; это никогда не работало, но потом я прочитал в другом посте, что по умолчанию токены доступны в области содержимого тела, и мне нужен специальный фильтр. Мне еще не удалось найти фильтр, и я не уверен, что это решение когда-нибудь сработает.
У меня есть вызов variable_get. Теперь это сработало. У меня есть переменная_set, определенная на моей странице template.php. Мое значение действительно печатается с использованием вызова печати выше в моем примере кода. Однако сегодня утром я посмотрел эту страницу и не думаю, что это тот ответ, который мне нужен. Потому что теперь мне придется вызывать variable_get на всех моих страницах, прежде чем я смогу что-либо напечатать, верно? И это не решает проблему, когда я хотел, чтобы все было в одном месте, чтобы звонить куда угодно. Я попытался поместить вызов variable_get в свой пользовательский блок, но снова я не могу получить доступ к чему-либо в «верхушке содержимого» из области содержимого моего тела. Вызов variable_get выводит значение в «верхнюю часть содержимого», но затем оно не будет перепечатываться ниже значения в области содержимого.
Так что, возможно, этот код поможет кому-то мне помочь. Сейчас я подробно расскажу о CCK, поскольку это единственное предложение, которое я не пробовал. Заранее спасибо, если кто-нибудь может помочь.