Вы здесь

Модуль Image Insert Codes

Аналог модуля Image Insert Codes для Drupal 7

Что он делает: производит блок, в котором отображаются коды для быстрой вставки текущего изображения на другие сайты, блоги, форумы и т.д.

Image Insert Codes

При установке модуля появляется блок "Image Insert Code"

На странице настроек модуля (admin/config/user-interface/image-insert-codes) можно выбрать:

  1. Нужные коды, отключив все не нужные.
  2. Поле изображения, для которого будут показываться коды
  3. Стиль изображения для использования в качестве превьюшек
  4. Показывать коды сразу или в свернутом филдсете

Image Insert Codes

Для вставки в шаблон ноды, есть переменная $codes

Image Insert Codes

Модуль написал чисто из интереса, интересует, на сколько правильный код и вообще подход.

image_insert_codes-7.x-.zip

UPD:
По рекомендации @goodboy

  1. переменную $codes заменил на $image_insert_codes
  2. В image_insert_codes.admin.inc использовал system_settings_form($form); для сохранения формы

По рекомендации @adubovskoy разместил на github'е

1
3
28.09.2016 - 00:05

Комментарии

Аватар пользователя adubovskoy
adubovskoy – 30.09.2016 - 02:26

Подход нормальный. Можно на drupal.org, может и будет несколько правок по мелочам, но в целом все норм.

А пока на гитхабе можно разместить -- удобнее чем архив аттачить.

Аватар пользователя xandeadx
xandeadx – 01.10.2016 - 14:50

Подход плохой.

Поскольку в блоке выводится не форма, а просто набор инпутов, то жирновато для этого использовать drupal_get_form(), выведите обычным html-ом.

image_insert_codes_preprocess_node() вызывается на любой вывод любой ноды, в том числе для вывода например тизера. 100 тизеров = 100 вызовов drupal_get_form(), даже если форма нигде не показывается.

menu_get_object() вернёт ноду только по адресу node/%node, если выводится тизер на какой-нибудь вьюхе, там будет непонятно что.

'#attributes' => array('class' => array('class' => 'imageinsertcodes'))

второй раз class писать не нужно

$('.imageinsertcodes')

Забыли про context.

Аватар пользователя chimir
chimir – 02.10.2016 - 18:02

Большое спасибо за оценку.

жирновато для этого использовать drupal_get_form()

Изначально не использовал, но столкнулся с тем, что не работал филдсет, но сейчас исправил

image_insert_codes_preprocess_node() вызывается на любой вывод любой ноды

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

menu_get_object() вернёт ноду ...

а что тогда использовать, node_load() ?

второй раз class писать не нужно

исправил