Я уверен, что есть несколько способов сделать это, некоторые более хакерские, чем другие. Я бы:
- Создайте шаблон, соответствующий вашему виду
- Создайте функцию предварительной обработки для представления и создайте логическую переменную, проверив, какой img должен отображаться.
- Наконец, я бы немного изменил шаблон, сделав оператор if, который проверяет, должен ли он отображать img x или y.
Это решение довольно простое и прямолинейное, недостатком является то, что оно не совсем общее, так как вам, скорее всего, потребуется знать имена используемых вами полей cck. Сомнительно, что вы все равно сможете обобщить это.
Изменить:
Чтобы уточнить немного. Вы можете посмотреть на используемый шаблон общих видов, это даст вам некоторое представление о том, как виды печатают различные поля. Обычно получение полей обычно не является большой проблемой, когда у вас есть объект $ node. Причина в том, что cck добавляет поля к объекту $ node, чтобы вы могли получить к нему доступ. Я полагаю, что вы можете сделать что-то в строке $ node-> field_ [the_name], чтобы добраться до поля. Я бы посоветовал вам использовать модуль devel, если вы этого еще не сделали, и сделать dpm ($ node) где-то в шаблоне, где вы просматриваете узлы. Это позволит вам увидеть, что было определено в объекте $ node. Это не должно быть большой проблемой, чтобы напечатать img оттуда.