CCK VIEWS и чистый вывод

Аватар пользователя RoSk0 RoSk0 9 ноября 2009 в 12:25

Всем доброго времени суток.
Хочется узнать от просвещенных друпаловодов правильной ли дорогой двигаюсь.

Есть тип материала к которому прикреплено изображение.
Задача: выводить в блок

  1. заголовок как ссылку на материал
  2. изображение как ссылку на материал

Инструменты: views, cck

C настройкой проблем вроде не возникло и сделал так:

Вот то что выводит данное чудо:

<div class="views-row views-row-1 views-row-odd views-row-first">
     
  <div class="views-field-field-news-image-fid">
                <span class="field-content"><a alt="&lt;img src=&quot;http://-ua.loc/sites/default/files/imagecache/news_image/news/images/tel... alt=&quot;&quot; title=&quot;&quot;  class=&quot;imagecache imagecache-news_image imagecache-default imagecache-news_image_default&quot; width=&quot;100&quot; height=&quot;100&quot; /&gt;" title="&lt;img src=&quot;http://-ua.loc/sites/default/files/imagecache/news_image/news/images/tel... alt=&quot;&quot; title=&quot;&quot;  class=&quot;imagecache imagecache-news_image imagecache-default imagecache-news_image_default&quot; width=&quot;100&quot; height=&quot;100&quot; /&gt;" href="/node/4"><img width="100" height="100" class="imagecache imagecache-news_image imagecache-default imagecache-news_image_default" title="" alt="" src="http://-ua.loc/sites/default/files/imagecache/news_image/news/images/tel.../></a></span>
  </div>
 
  <div class="views-field-created">
                <span class="field-content">Понедельник, 5 октября, 2009 - 14:17</span>
  </div>
 
  <div class="views-field-title">
                <span class="field-content"><a alt="Третья новость" title="Третья новость" href="/node/4">Третья новость</a></span>
  </div>
  </div>

Это то что нужно. Но не совсем...
На самом деле меня не устраивает только грязный код который не проходит валидатор.
Я знаю что мир не совершенен, но очень люблю чистый код
Поэтому я взялся за темизацию вывода полей сск.
Подсмотрев в информации о теме имена интересующих меня файлов (views-view-field--news--block-1--field-news-image-fid.tpl.php и views-view-field--news--block-1--title.tpl.php) создал их в папке темы и наделил таким содержанием
views-view-field--news--block-1--field-news-image-fid.tpl.php:

$node_path $field->{options}['alter']['path'];
$n_title $row->{node_title};
$image $field->original_value;

print(

'
$node_path '" title="' $n_title '">' $image '
'
);
?>

views-view-field--news--block-1--title.tpl.php:

$title $row->{node_title};
$nid $row->{nid};

$output '$nid;
$output .= '" title="' $title;
$output .= '" >' $title '';

print(

$output);
?>

Собственно вопрос:

  1. Насколько правильно я сделал? Возможно есть другие методики?
  2. И еще для огранизации одной странички и блока ведь можно обойтись без views? Говорили на конференции ребята мол берешь запрос из views вставляешь в код, парсиш и все дела... Но сказывается явная нехватка знаний... Взял код запроса
    SELECT node.nid AS nid,
       node_data_field_news_image.field_news_image_fid AS node_data_field_news_image_field_news_image_fid,
       node_data_field_news_image.field_news_image_list AS node_data_field_news_image_field_news_image_list,
       node_data_field_news_image.field_news_image_data AS node_data_field_news_image_field_news_image_data,
       node.type AS node_type,
       node.vid AS node_vid,
       node.created AS node_created,
       node.title AS node_title,
       DATE_FORMAT((FROM_UNIXTIME(node.created) + INTERVAL 10800 SECOND), '%Y%m%d%H%i') AS node_created_minute
     FROM node node
     LEFT JOIN content_type_news node_data_field_news_image ON node.vid = node_data_field_news_image.vid
     WHERE node.type IN ('news')
       ORDER BY node_created_minute DESC

    загнал в myadmin и что увидел:
    nid 4 3 2
    node_data_field_news_image_field_news_image_fid 8 7 6
    node_data_field_news_image_field_news_image_list 1 1 1
    node_data_field_news_image_field_news_image_data a:3:{s:11:"description";s:0:"";s:3:"alt";s:0:"";s:... a:3:{s:11:"description";s:0:"";s:3:"alt";s:0:"";s:... a:2:{s:3:"alt";s:0:"";s:5:"title";s:0:"";}
    node_type news news news
    node_vid 4 3 2
    node_created 1254741462 1254733204 1254732734
    node_title Третья новость Вторая новость Первая новость
    node_created_minute 200910051717 200910051500 200910051452

    как из этого пропарсить изображение я не понимаю...
    Если не затруднит великих обьясните пожалуйста как это сделать без views правильно?

Заранее благодарен

ВложениеРазмер
Иконка изображения settings.png12.31 КБ
0 Thanks