Главная » Drupal » Статьи Drupal » Drupal ImageField: как настроить автоматическое заполнение атрибута Alt
Распечатать статью

Drupal ImageField: как настроить автоматическое заполнение атрибута Alt

Представлю простую постановку задачи. Использовать буду Drupal 7. Итак, пусть:

  • имеется поле в виде изображения ImageField;
  • есть материал, содержащий вышеуказанное.

Нужно избавить рядового пользователя, наполняющего сайт контентом от необходимости заполнять атрибут alt у картинок, выводимых при помощи HTML-тега image.

Решение. Пишем простой модуль, который будет выполнять данные действия. Основной код будет выглядеть примерно вот так:

<?php
/* Хук, срабатывающий перед сохранением ноды. */
function MyModule_node_submit($node, $form, &$form_state)  {
  if ( ($node->type === 'MyNode') and
       (empty($node->field_img_MyPicture['und'][0]) == FALSE) ) :
    $node->field_img_MyPicture['und'][0]['alt'] = $node->title;
  endif;
} 
?>

Здесь MyModule, MyNode, field_img_MyPicture — машинные имена модуля, типа материала и поля соответственно. Разумеется, чтобы была возможность вытянуть атрибут Alt из ImageField, оно само собой должно быть разрешено ещё на этапе проектирования структуры ноды.

Если есть необходимость проверить есть ли значение у CCK-поля, используем вторую проверку после and. Сделал это для того, чтобы не выходило ошибок в случае, когда «необязательно для заполнения».

И наконец, для чего же надо выполнять сие действо. Боты поисковых систем, — без описаний к изображениям они картинки не индексируют. В полной мере высказывание касается Яндекс и Google. Хотя в случае с первым и эти манипуляции могут не помочь.

Источник:  sooource.net

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи