Всем привет,
у меня опять появился вопрос, на этот раз по темизации нод.
При создании материала есть раздел Тип машины, он сделан в виде Список (целые числа), в списке имеется:
0|Седан
1|Универсал
2|Хэчбэк
3|Джип
4|Минивен
5|Бус
6|Грузовая
При размещении записи можно установить несколько чекбоксов с нужным типом машин. И все бы хорошо, но тип машин я вывожу в виде иконок и тут появляется проблема. Если устанавливать флажки с начиная с типа 0|Седан и далее по порядку, то на странице выводятся нужные иконки. Но если например установить флажок начиная с 3|Джип, то на странице ничего не отображается.
Вот этот код я использую для вывода иконок. Подскажите, что в нем не так и как исправить эту проблему.
<?php if($content['field_taxi_type'][0]['#markup']=='0')
{print '<img title="Седан" src="img/sedan.jpg">';}
else {print '';}
?>
<?php if($content['field_taxi_type'][1]['#markup']=='1')
{print '<img title="Универсал" src="img/uni.jpg">';}
else {print '';}
?>
<?php if($content['field_taxi_type'][2]['#markup']=='2')
{print '<img title="Хэтчбек" src="img/hachback.jpg">';}
else {print '';}
?>
<?php if($content['field_taxi_type'][3]['#markup']=='3')
{print '<img title="Внедорожник" src="img/jeep.jpg">';}
else {print '';}
?>
<?php if($content['field_taxi_type'][4]['#markup']=='4')
{print '<img title="Минивен" src="img/minivan.jpg">';}
else {print '';}
?>
<?php if($content['field_taxi_type'][5]['#markup']=='5')
{print '<img title="Бус" src="img/bus.jpg">';}
else {print '';}
?>
<?php if($content['field_taxi_type'][6]['#markup']=='6')
{print '<img title="Грузовик" src="img/bigbus.jpg">';}
else {print '';}
?>
Комментарии
Только не говорите,что это всё в файле шаблона)
Почему бы Вам не задействовать таксономию - функционал "из коробки"?
Удобней,и,думаю,впоследствии пригодится.
Да, все это в файле материала node--car.tpl.php. Это очень плохо?
Хорошо, а если я сделаю вывод типа автомобиля через таксономию. Как потом значению таксономии заменить иконкой?
Необходимо разделять логику и представление - чаще всего,в шаблоне должны быть только PHP-переменные и HTML теги.
Вам надо сделать так:
-Создаете словарь таксономии "Тип авто".
-Для термина добавляете поле "Изображение".
-Забиваете словарь парами тип-иконка.
-В нужном типе материала добавьте поле "ссылка на термин" и выберите свой словарь.
-В template.php циклом проходитесь по массиву терминов объекта node,забиваете их картинки в переменную и передаёте её в шаблон и всё.
Еще вариант - затемить с помощью CSS,опираясь на классы термина таксономии (выводить их прямо в ноду).
text-indent: -9999px; background: sedan.png; и т.д.
А можно просто картинкам давать имена:
img/auto_0.jpg
img/auto_1.jpg
img/auto_2.jpg
и т.п. и вместо цифры подставлять свой ключ значения, а вместо тайтла - само значение)
P.S. Не забудьте об обязательном атрибуте "alt" у всех картинок!
Всем спасибо, пошел пробовать. Если не получится, пойду за платной помощью:(
Что именно вызвало такую реакцию?
Тоже офигел )
Но ничего, дерзайте!
Вас уже смущает то, что вы когда то советовали другим? http://www.drupal.ru/node/87633
А вообще странные вы люди. Все прям в таком недоумении, но вместо того чтобы помочь, только языки чешете. Ну и сообщество
Вы конечно же все правильно говорите, только меньше экспрессии, ок?
ПС Спасибо за приведенный код