Воскресенье, Декабрь 30, 2018

Косяки при подаче материала в Zoo незарегистрированными

Люблю я связку Joomla + Zoo и часто ей пользуюсь. Мне нравится делать красивые сайты в, которые заказчик потом может легко поддерживать, не вникая в тонкости HTML и CSS, не заморачиваясь с изучением визуального редактора, и при этом создавая элегантные страницы по предложенному им мной шаблону: фото из одного поля автоматически выравнивается по правому краю, фото из другого – по левому, и не нужно совершать особых телодвижений для того, чтобы они всплывали в лайтбоксе. Сюда вставляется код видео из ютуба, и видео замечательно центрируется, а в эти поля добавляются какие-то данные, по одной характеристике в одно поле, даже детсадник не запутается, — а на выходе получается замечательная структурированная таблица.

Нет, если бы заказчики все же заморачивались... вникали в HTML и хотя бы мал мала изучали возможности визуального редактора, то я бы, делая сайт в Барнауле, наверное, использовал Zoo не так часто. Во всяком случае, у меня бы было меньше оправданий использовать дополнительный компонент, конструктор контента, наличие которого, конечно, влияет на скорость загрузки сайта.

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

Сделал, настроил, стал тестировать. Здесь-то меня и поджидала неувязочка: оказывается, при добавлении с фронтенда материала в Zoo, все абзацы, добавленные в текстовое поле, слипаются в один параграф.
То есть пишу вот так

submission zoo

А на выходе получаю вот это:

косяки при подаче материала в Zoo

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

Что же делать?

На одном из форумов, я получил совет: «"Присобачить" простенький редактор скриптом для нужной страницы и нужного блока jqueryte.com/demos».

Так я и поступил.

Описываю последовательность действий:

1) Скачать архив с сайта разработчика скрипта

2) Открываем файл index.php и пишем перед закрывающим тэгом </head> следующее:

<link type="text/css" rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/имя_шаблона/css/jquery-te-1.4.0.css">
<script type="text/javascript" src="/<?php echo $this->baseurl ?>/templates/имя_шаблона/js/jquery-te-1.4.0.min.js" charset="utf-8"></script>

 

3) Если у вас на сайте нет ни одного подключения библиотеки Jquery – что навряд ли! – то после открывающего тэга <head> добавьте строчку

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js" charset="utf-8"></script>

4) Помещаем файл jquery-te-1.4.0.min.js'.jqte-test').jqte();
// settings of status
var jqteStatus = true;
$(".status").click(function()
{
jqteStatus = jqteStatus ? false : true;
$('.jqte-test').jqte({"status" : jqteStatus})
});
</script>

Знак $ во измежание конфликтов js-библиотек заменяем на Jquery.

Класс jqte-test меняем на нужный класс блока textarea. Если нужный блок не имеет класса, то используем родительский класс. У меня получилось вот так:

<script>
jQuery('.repeatable-content textarea').jqte();
// settings of status
var jqteStatus = true;
jQuery(".status").click(function()
{
jqteStatus = jqteStatus ? false : true;
jQuery('.repeatable-content textarea').jqte({"status" : jqteStatus})
});
</script>

Вот и все, у себя на сайте вы увидите вот такой визуальный редактор

Визуальный редактор jQuery

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

8) Чтобы переводить было удобнее, используйте файл jquery-te-1.4.0.js"text/javascript" src="/<?php echo $this->baseurl ?>/templates/имя_шаблона/js/jquery-te-1.4.0.js" charset="utf-8"></script>

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

Вы комментируете как Гость.

Scroll to top