2008-12-12 3 views
2

Фон: Клиент X имеет тип контента на основе CCK (vendorxxentry) и использует Views2 для создания списка всех поставщиков vendorxxentry узлов в простой таблице.Drupal 6: CCK: Views2: Какие бы вы не заменили изображение для поля вида

Одно из полей в vendorxxentry называется "vendorxxattitude", которая появляется в качестве одного из следующих перечисленных возможных значений:

  • счастливого
  • сонных
  • вялого
  • раздражительный

Клиент X имеет четыре выполненных на заказ 16x16 изображений, соответствующих этим перечисленным значениям. Он хочет, чтобы они отображались в сгенерированном виде, поэтому вместо того, чтобы видеть «счастливым» в сгенерированном виде, пользователь увидит изображение happy.png на своем месте. Клиент X хотел бы выполнить это, не нарушая возможности сортировки отдельных столбцов, как это в настоящее время выполняется с Views2 в режиме вывода таблицы.

Вопрос: Какие методы вы бы использовали, чтобы подменить текст соответствующими изображениями? Предположим, что изображения должны быть заменены только в одном или нескольких конкретных представлениях (например, vendorxxsummary, vendorxxbyxxdate, vendorxxbyxxindustry), но не в самих видах отдельных узлов.

ответ

2

Вы можете изменить «настроение» из простого поля данных в словарь таксономии, причем каждое настроение является термином в словаре. Затем используйте модуль Taxonomy Image, чтобы подставить изображение для каждого настроения любым удобным вам способом.

1

Предполагаю, что я начну с написания какого-либо jquery, который найдет все ячейки с этими словами и заменит Css вокруг, чтобы переместить/скрыть текст и добавить ваши изображения в качестве фонового изображения. Подобно методам замены изображений, которые люди используют для получения причудливых шрифтов в заголовках. Если вы можете это сделать без изменения базовой разметки, это не должно влиять на механизм сортировки?

2

Я бы использовал классные новые темы 2 вместо того, чтобы устанавливать совершенно новый модуль для обработки одной функции. Просто укажите, в каком поле вы хотите пометить тему, и создайте файл темы с соответствующим именем и вставьте код по умолчанию из вспомогательной информации о теме, включенной в представления 2. Затем используйте инструкцию switch для темы вывода соответствующим образом.

Это не поможет заказчику, если они решили добавить поле, однако вам придется обновить свой код, но он будет работать намного быстрее, чем весь новый модуль.