Как можно темизировать шаблон views-view-field.tpl.php
<?php
// $Id: views-view-field.tpl.php,v 1.1 2008/05/16 22:22:32 merlinofchaos Exp $
/**
* This template is used to print a single field in a view. It is not
* actually used in default Views, as this is registered as a theme
* function which has better performance. For single overrides, the
* template is perfectly okay.
*
* Variables available:
* - $view: The view object
* - $field: The field handler object that can process the input
* - $row: The raw SQL result that can be used
* - $output: The processed output that will normally be used.
*
* When fetching output from the $row, this construct should be used:
* $data = $row->{$field->field_alias}
*
* The above will guarantee that you'll always get the correct data,
* regardless of any changes in the aliasing that might happen if
* the view is modified.
*/
?>
<?php print $output; ?>
что бы на выходе получалось не так:
<div class="views-field-field-photo-fid">
<span class="field-content">
<a class="imagecache imagecache-preview imagecache-linked imagecache-preview_linked" href="/nobilia/sprint_728.html">
<img height="191" width="270" title="" alt="" src="/sites/default/files/imagecache/preview/0211_Sprint728_11133_08_0.jpg"/>
</a>
</span>
</div>
<span class="field-content">
<a class="imagecache imagecache-preview imagecache-linked imagecache-preview_linked" href="/nobilia/sprint_728.html">
<img height="191" width="270" title="" alt="" src="/sites/default/files/imagecache/preview/0211_Sprint728_11133_08_0.jpg"/>
</a>
</span>
</div>
а так:
Комментарии
Оно там печатается примерно так:
<?php if (!empty($field->separator)): ?>
<?php print $field->separator; ?>
<?php endif; ?>
<<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
<?php if ($field->label): ?>
<label class="views-label-<?php print $field->class; ?>">
<?php print $field->label; ?>:
</label>
<?php endif; ?>
<?php
// $field->element_type is either SPAN or DIV depending upon whether or not
// the field is a 'block' element type or 'inline' element type.
?>
<<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
</<?php print $field->inline_html;?>>?>
Попробуйте убрать лишнее и вставить это вместо $output
А куда надо вставлять <?php print $output; ?> и что оно покажет?
$output - вывод поля по умолчанию
Попробуйте вместо него
<?php print $field->content; ?>
вставлял <?php print $output; ?> и <?php print $field->content; ?> в файл views-view-field.tpl.php вместо содержимого по умолчанию, на странице в итоге вообще ничего не выводится - пусто
Ребята! читайте мануал внимательнее - div и span цепляются в файле views-view-fields.tpl.php
Чтобы убрать их - достаточно использовать для каждого поля:
<?php print $fields['some_id']->content; ?>
Ребята, если надо оперировать разными полями, созданными во вьюс, то руководствуюясь справкой указанной в самом верху, отдельные поля можно воводить следующим образом:
значала посмотрите их список
<?php print_r($row); ?>
ну а дальше обращайтесь к ним через конструкцию
<?php print $row->node_data_field_obj_page_field_obj_link_value; ?>
**случайно
**случайно
Ребят, темизирую views-view-fields.tpl.php и никак не могу понять как мне достать ссылку на ноду
На данный момент использую конструкцию
<?php print file_create_url('node/'.$row->_field_data['nid']['entity']->nid);?>
Но тут ссылка вида site.ru/node/3
А я хочу site.ru/moya-stranica
Как такое чудо сотворить?