При создании ноды, загружаю картинку, обработанную imagecache.Заполняю поле 'описание',но выводиться только картинка.
Поискав по форуму нашел вот это решение [#36242][/#]..Вроде всё делаю как сказано, но появляется вот такая ошибка
warning: include(./sites/all/themes/abarre/content-field-field_page_image.tpl.php) [function.include]: failed to open stream: Permission denied in /home/www/drupal-6.20/includes/theme.inc on line 1066.
а вот код из tpl
<?php if (!$field_empty) : ?>
<div class="field field-type-<?php print $field_type_css ?> field-<?php print $field_name_css ?>">
<?php if ($label_display == 'above') : ?>
<div class="field-label"><?php print t($label) ?>: </div>
<?php endif;?>
<?php if ($item['data']['description']): ?>
<div class="image-caption"><?php print $item['data']['description']; ?></div>
<?php endif; ?>
<div class="field-items">
<?php $count = 1;
foreach ($items as $delta => $item) :
if (!$item['empty']) : ?>
<div class="field-item <?php print ($count % 2 ? 'odd' : 'even') ?>">
<?php if ($label_display == 'inline') { ?>
<div class="field-label-inline<?php print($delta ? '' : '-first')?>">
<?php print t($label) ?>: </div>
<?php } ?>
<?php print $item['view'] ?>
</div>
<?php $count++;
endif;
endforeach;?>
</div>
</div>
<?php endif; ?>
что я не так делаю?я в программировании не очень..
заранее спасибо за любую помощь..
Комментарии
сорри,вот эта ссылка
http://docs.drupal.ru/node/36242
У вас что-то не так с правами, проверьте доступы.
А imagecache обычно используется так (у вас другие переменные смените на соответствующие):
$node - нода, где есть поле рисунка field_image, $node->title - заголовок, соответственно alt и title рисунка станут заголовками.
Спасибо большое.
Только не совсем понял.Эту строчку кода необходимо в какой-то файл дописать?Если да то какой?
Либо заменить существующую..
Примерно такое же решение я уже находил здесь, только изменения где делать так и не понял..
Извиняюсь на нудность..Я ведь еще совсем на поверхности плаваю...
Подскажите пожалуйста..
ух, это надо в теме или кастомном модуле.
Может лучше так?
у меня как раз не выводились alt, title у картинок, которые в cck imagefield лежали, картинок в поле несколько и у каждой свой alt, title.
Картинки вывожу через linodef в сочетании с node picker
получается картинка ссылка, но вот alt, title указанные для картинки не выводились
код ниже исправляет этот недостаток
в template.php
добавил кусочек который секцию $item['data'] устанавливает какую надо и все заработало.
* file
* ImageField formatter hooks and callbacks.
*/
function ваша_тема_imagefield_formatter_image_plain($element)
{
// Inside a view $element may contain null data. In that case, just return.
if (empty($element['#item']['fid'])) {
return '';
}
$field = content_fields($element['#field_name']);
$item = $element['#item'];
$data = null;
if (isset($element['#node']) && isset($element['#field_name']) && isset($element['#node']->{$element['#field_name']}))
{
foreach($element['#node']->{$element['#field_name']} as $val)
{
if(isset($val['fid']) && $val['fid'] == $item['fid'])
{
$data = $val['data'];
break;
}
}
}
$item['data']['alt'] = isset($item['data']['alt']) ? $item['data']['alt'] : '';
$item['data']['title'] = isset($item['data']['title']) ? $item['data']['title'] : NULL;
if ($data)
{
$item['data'] = $data;
}
$class = 'imagefield imagefield-'. $field['field_name'];
return theme('imagefield_image', $item, $item['data']['alt'], $item['data']['title'], array('class' => $class));
}
не забудьте в производительности потом кэш сбросить, чтобы темизация функции была замечена.