Темизация шаблона views

Главные вкладки

Аватар пользователя Antalika Antalika 8 октября 2015 в 17:06

Если кто-нибудь может сказать где мой затуп, либо просто метод решения проблемы, я была бы премного благодарна
Допустим, у меня есть два типа материала, обычные страницы без ubercart. Мне нужно, что бы в представлении views (например "сетка"), с разными типами материала, были стилизованы по разному (форматы заголовков и т.д.).
Проблема в том, что если я пытаюсь сделать это через css, они либо меняются вместе, либо просто не цепляются. (в настройке views, "class" тоже не помог)
Может кто знает способ сделать проще, но я пыталась сделать как в статье:
Статья - Через Theme:Information (в настройке views)
Как я поняла, он немного меняет структуру, и меняет id.

В шаблоне получился код:


<?php foreach ($fields as $id => $field): ?>
<?php 
if($id=='title'){$zaglav=$field->content;}
if(
$id=='field_imageprepod'){$img=$field->content;}
?>

<table>
<tr>
<td>

<?=$img?>
</td>
</tr>
<tr>
<td>
<?php echo '<h3>'.$zaglav.'</h3> ' ?> - типа 16 строка
</td>
</tr>

</table>

<?php endforeach; ?>

Он выдает ошибку "Notice: Undefined variable: zaglav в функции include() (строка 16 в файле /home/aquapric/public_html/...../views-view-fields--prepod--page-1.tpl.php)." и клонирует поле img.

Комментарии

Аватар пользователя Orion76 Orion76 8 октября 2015 в 18:11

Странный шаблон..
Зачем Вам для каждого поля выборки вьюса по отдельной таблице?

Настроить CSS отдельно для каждого вьюса - проще простого..
Но надо хотябы видеть html обоих страниц..

Аватар пользователя Boozenok Boozenok 9 октября 2015 в 1:25

"dashiwa" wrote:

внимательно читайте статью.

<?php foreach ($fields as $id => $field): ?>
<?php
if($id=='title'){$zaglav=$field->content;}
if($id=='field_imageprepod'){$img=$field->content;}
?>
<?php endforeach; ?>
<table>
<tr>
<td>

<?php print $img;?>
</td>
</tr>
<tr>
<td>
<?php print $zaglav;?>
</td>
</tr>

</table>

если нужно просто темизировать поля, там когда поле добавляете в админке можно указать свой класс полю (вкладка Настройки стиля->чекбокс Настроить HTML-код поля->чекбокс Создать CSS класс-> пишите свой css класс ), прописать его в style.css, очистить кеш.

Аватар пользователя Antalika Antalika 9 октября 2015 в 9:30

Boozenok wrote:
"dashiwa" wrote:

внимательно читайте статью.

<?php foreach ($fields as $id => $field): ?>
<?php
if($id=='title'){$zaglav=$field->content;}
if($id=='field_imageprepod'){$img=$field->content;}
?>
<?php endforeach; ?>
<table>
<tr>
<td>

<?php print $img;?>
</td>
</tr>
<tr>
<td>
<?php print $zaglav;?>
</td>
</tr>

</table>

если нужно просто темизировать поля, там когда поле добавляете в админке можно указать свой класс полю (вкладка Настройки стиля->чекбокс Настроить HTML-код поля->чекбокс Создать CSS класс-> пишите свой css класс ), прописать его в style.css, очистить кеш.

Что то совсем дебри полезла, второй вариант намного проще.
Спасибо!!!!! Оба варианта помогли

Аватар пользователя Antalika Antalika 9 октября 2015 в 9:31

Boozenok wrote:
"dashiwa" wrote:

внимательно читайте статью.

<?php foreach ($fields as $id => $field): ?>
<?php
if($id=='title'){$zaglav=$field->content;}
if($id=='field_imageprepod'){$img=$field->content;}
?>
<?php endforeach; ?>
<table>
<tr>
<td>

<?php print $img;?>
</td>
</tr>
<tr>
<td>
<?php print $zaglav;?>
</td>
</tr>

</table>

если нужно просто темизировать поля, там когда поле добавляете в админке можно указать свой класс полю (вкладка Настройки стиля->чекбокс Настроить HTML-код поля->чекбокс Создать CSS класс-> пишите свой css класс ), прописать его в style.css, очистить кеш.

Что то совсем дебри полезла, второй вариант намного проще.
Спасибо!!!!! Оба варианта помогли

Аватар пользователя dashiwa dashiwa 9 октября 2015 в 2:42

"Antalika" wrote:
с разными типами материала, были стилизованы по разному

Ищите родительский класс класс - node-"type"
От его отталкиваетесь,зачем плодить шаблоны,доп нагрузка