Добавить поле ссылки в шаблон в Drupal 6 с помощью CCK - PullRequest
0 голосов
/ 06 июня 2011

Добрый вечер,

Я использую Drupal 6, CCK Module и тип поля ссылки. Все установлены и активированы.

Я создал пользовательский тип контента под названием Slider. Пользователь может загрузить изображение, заголовок и тизер. Я создал настраиваемое поле для этого типа содержимого ползунка, а также поле под названием Ссылка с именем поля: "field_link_test".

Я создал запись, заполнил все данные, включая URL для этого типа поля ссылки, и нажал «Сохранить». В views-view-table - slider.tpl.php я добавил:

 <a href="<?php print $node->field_link_test[0]['url'] ?>">Learn More</a>

но на внешнем интерфейсе все показывает, кроме этой ссылки. Я также попытался очистить кеш Drupal.

Есть идеи?

Обновите код шаблона ниже, который работает нормально, за исключением нового значения ссылки, ничего не выводит.

<div id="slider">
<div class="slider-holder">
    <?php foreach($rows as $row): ?>
    <div class="slide">
        <?php print $row['field_image_fid'] ?>
        <div class="info-slide">
            <h2><?php print $row['title'] ?></h2> 
            <p><?php print strip_tags($row['teaser']) ?></p>
            <a href="<?php print $node->field_link_test[0]['url'] ?>">Learn More</a>
        </div><!--INFO-SLIDE-->
    </div><!--SLIDE--> 
    <?php endforeach ?>
</div><!--SLIDER-HOLDER-->
<div id="control">

</div>
</div><!--SLIDER-->

Ответы [ 3 ]

1 голос
/ 06 июня 2011

Простые возможности (которые вы, вероятно, проверили, но только чтобы убрать их с пути):

  • необходимо разрешить просмотр поля анонимным / аутентифицированным пользователям в «Управление пользователями» - «Разрешения»

В противном случае трудно разобраться без кода для анализа. Не могли бы вы опубликовать всю таблицу представлений просмотров - slide.tpl.php и, если возможно, экспортированный вид или ссылку на экспортированный вид?

EDIT

Теперь, когда у меня была возможность взглянуть на ваше мнение, я внес пару изменений, которые должны помочь.

Причина, по которой URL-адрес вашей ссылки не отображается, заключается в том, что вы включаете поле "Узел: ссылка" в свой вид вместо поля "Содержимое: ссылка (field_link_test)". Первый будет просто ссылаться на исходный узел, а не на вашу пользовательскую ссылку. Кроме того, я не думаю, что вы можете вызывать переменную $node из views-view-table (по крайней мере, я ничего не получаю при ее печати. ​​Вместо этого вы можете использовать переменную $row.

У меня есть версия вашего шаблона, которая распечатывает URL-адрес в поле «link_test» с надписью «Подробнее». Я поместил текст «Подробнее» в самом представлении, так как его будет легче редактировать, и он будет лучше работать с типом Link CCK (который по умолчанию захочет добавить заголовок, который вы добавляете на экране редактирования узла).

Экспорт вида здесь: http://pastebin.me/0ed2942f6953cb00cab1bd5386058a13. Вы можете импортировать его обратно на свой сайт, но вы можете сначала клонировать исходный вид, чтобы сделать резервную копию, чтобы, если это не то, что вам нужно, Вы можете использовать свою старую версию.

Обновленный рейтинг:

<div id="slider">
<div class="slider-holder">
    <?php foreach($rows as $row): ?>
    <div class="slide">
        <?php print $row['field_image_fid'] ?>
        <div class="info-slide">
            <h2><?php print $row['title'] ?></h2> 
            <p><?php print strip_tags($row['teaser']) ?></p>
            <?php print $row['field_link_test_url'] ?>
            <?php //print_r($row); ?>

        </div><!--INFO-SLIDE-->
    </div><!--SLIDE--> 
    <?php endforeach ?>
</div><!--SLIDER-HOLDER-->
<div id="control">

</div>
</div><!--SLIDER-->

Дайте мне знать, если у вас есть какие-либо вопросы / вопросы.

0 голосов
/ 06 июня 2011

Убедитесь, что вы добавили поле ссылки к представлению в разделе полей.Это должно позволить ему быть темным из вашего файла шаблона.Если вы все еще не видите его, попробуйте использовать

print_r ($ lines, 1);

или некоторую переменную print_r, чтобы просмотреть все строки, доступные для тематического оформления.

0 голосов
/ 06 июня 2011

Вы уверены, что шаблон забирается (добавьте <p>heavymark</p> над href ... он отображается?)?

Если показывается выше, добавьте var_dump ($ node) над тегом привязки и опубликуйте вывод, чтобы мы могли лучше понять, что там есть (вы, вероятно, захотите включить XDebug , чтобы вы стали лучше форматированный вывод, если он еще не включен).

...