2013-05-31 3 views
0

У меня есть пользовательский тип контента под названием «магазины» с четырьмя полями (адрес, имя, Lat, Lon)Drupal 7 полей/CCK конкатенации

У меня есть несколько магазинов с одинаковым названием (например: Safeway) и когда работая в любой части интерфейса администратора, я вижу дубликаты «safeway». Я хотел бы добавить крюк, чтобы по существу объединить «Имя» и «Адрес», чтобы сейфы были неоднозначны во всех списках и т. д .:

Safeway (299 River Ave.)

или

Имя (обратить внима ss)

Может кто-нибудь указать мне в правильном направлении ??? Какие методы крюка мне нужно прочитать?

Есть ли шаблоны, которые я могу переопределить? В идеале я делаю это как один крючок, поскольку я не могу представить ни одного места в приложении, где адрес не будет полезен.

EDIT | Я нашел Field API здесь, но я не уверен, какой крюк переопределять:

https://api.drupal.org/api/drupal/modules%21field%21field.module/group/field/7

EDIT 2 | Я думаю, что я сузить свой поиск к этому API:

https://api.drupal.org/api/drupal/modules!field!field.api.php/function/hook_field_formatter_prepare_view/7

Но рабочий пример будет уверен, что поможет ???

Alex

ответ

0

Я предполагаю, что здесь, что вы используете поле заголовка этого узла в качестве имени поля вашего типа контента, вы еще потому что вы видите дубликаты в интерфейсе администратора.

Если вам это нужно только для администрирования вашего контента, вы можете использовать модуль views и создать представление, чтобы показать страницу, похожую на admin/content, которая также отображает поле адреса.

Если вам нужен адрес, который будет также отображаться на главной странице узла, вы можете использовать в файле template.php для темы что-то вроде

function <yourtheme>_preprocess_node(&$variables, $hook) { 
    if ($variables['node']->type == '<store_node_type>') { 
    $variables['node']->title = $variables['node']->title . " ({$variables['node']->field_address})"; 
    } 
}