Вставка поля в текст ноды

Главные вкладки

Аватар пользователя Марк Марк 7 декабря 2018 в 10:57

Есть нода - статья.
Чтобы она была красивее и юзабильнее хочу вставить в тексте статьи (там где -то 3 - 5 к символов) картинки и ссылки на похожие материалы.
Делать это через редактор или при создании статьи не совсем удобно, потому как статей много, а копирайтеров мало. И объяснять как и что делается не совсем правильно.
А вот если создать поле img, которое будет заполняться при создании статьи и автоматически выводится не после body и не перед ним а в тексте body... например после 4го или после 1 тысячи символов - это уже правильнее.
Я даже модуль нашел block inject, но он официально не поддерживается. Хочу попробовать программно. Может через node.tpl.php

Комментарии

Аватар пользователя pselfin pselfin 7 декабря 2018 в 17:30

Или в сторону токенов посмотреть https://www.drupal.org/project/token_filter в связке с https://www.drupal.org/project/block_token
Блоком может быть вивс с нужным вам слайдером, например, прикрепленных к полю изображений.

Аватар пользователя DivaDii DivaDii 9 декабря 2018 в 15:24

Модуль block inject работает вполне нормально.
И подходит для описанной Вами цели.
Он глючит только в длиннных материалах, которые автоматически или вручную разбиваются на страницы (с пейджером).
Если длинных материалов на проекте нету, то можно использовать block inject - других неприятностей я за ним не заметила.

Аватар пользователя Марк Марк 10 декабря 2018 в 17:24

находил подобное решение, но это лишняя заморочка копирайтеру. Хотя все зависит от целей.
Я все же сделал через block inject
Блок отображает представление где находится похожий материал от модуля similar.
Чуть темизировал и вуаля - образец в статье про наследство
Удобно. Копирайтер не париться вообще.
Один минус - модуль позволяет вставить всего один блок. Хотя если над ним поработать можно было увеличить количество до двух

Аватар пользователя Марк Марк 10 декабря 2018 в 20:36

Еще к бутстрапу прикрутил affix
и довольно элегантное слежение за менюшкой

если кому пригодиться
jQuery(document).ready(function($){
$('#block-toc-node-toc-node').affix({
offset: {
top: 100
}
});

$(window).scroll(function(){
$('.toc-item-anchor a').each(function(){ //запускаем функцию для каждого заголовка
if($(this).offset().top<$(window).scrollTop()+1){ //которая срабатывает при прокрутке
var currentclass =$(this).attr('name'); //записываем название айдишников
$('.toc-node-level-2 a').each(function(){ //запускаем функцию для каждого пункта меню
if($(this).attr("href").indexOf(currentclass) + 1){ //проверяем наличие в пункте меню анкора из заголовка
$(this).addClass('first'); // добавляем класс если есть
}
else {
$(this).removeClass('first'); //удаляем если нет
}
});
};
});
});
})

Аватар пользователя Марк Марк 10 декабря 2018 в 20:36

DivaDii wrote:

Модуль block inject работает вполне нормально.

И подходит для описанной Вами цели.

Он глючит только в длиннных материалах, которые автоматически или вручную разбиваются на страницы (с пейджером).

Если длинных материалов на проекте нету, то можно использовать block inject - других неприятностей я за ним не заметила.

не получалось использовать 2 и более блоков через этот модуль на одном материале?

Аватар пользователя DivaDii DivaDii 11 декабря 2018 в 9:19

Получалось без проблем. Только надо смотреть на _длину_ материала.
Там же подсчет абзацев "хитрый".
Вставить в какое-то конкретное место (после 2-го и 6-го абзаца, допустим) мне не удавалось. Впрочем, у меня не было такой точной задачи. Мне надо было, чтобы блоки-врезки (автор текста и похожие материалы) где-то внутри материала.

Аватар пользователя Марк Марк 11 декабря 2018 в 17:24

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

Аватар пользователя DivaDii DivaDii 11 декабря 2018 в 20:48

Сейчас стала проверять - действительно новый регион не добавляется в тот же тип материала. хм...
Тогда не помню.
Либо была предыдущая версия модуля, где эта возможность была.
Либо я два блока (автор + похожие материалы) вставляла в один регион, один над другим.
Сейчас ещё покопаю.

....
Дополняю. Посмотрела... не, не помню.
Кажется мне, что ставила на сайт два независимых региона и в каждом по блоку.
Но это было давно - в 2015 году.
Может быть, память подводит. Sad
А после того переверстывала сайт. И сейчас только один блок в одном добавленном регионе.