56
2017 05 ноября

Jcomments Ответы на комментарии из админки

Давно нужен был подобный функционал, но Сергей занят и обновлений компонента пока не предвидится.

На коленке набросал хардкодное решение для версии комментариев 3.0.5 и Joomla 3.5.хх. Работает в ситуации с отсутствием авторизации на фронте и одного админа в панели, который будет отвечать на комментарии. Ковыряться в стандартных классах jcomments мне было лениво, потому отдельным скриптом без всяких проверок и тд, ведь работает умный админ.

369
2017 06 февраля

Новая версия 3.0.1 плагина Content Article Image

Новая версия старого плагина Content Article Image, обновление включает в себя только некоторые исправления для работы на версии движка Joomla 3.х, больше никаких изменений нет (и надо было разрабам менять константу DS на DIRECTORY_SEPARATOR спрашивается).

Скачать плагин Content Article Image v3.0.1 для версий Joomla 2.5 и Joomla 3.x

379
2017 16 января

Список пользователей сайта и их материалы !J3

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

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

Рабочий демо пример

Действовать будем штатными средствами с некоторыми модификациями

693
2015 13 декабря

Динамический курс валюты на сайте

ourse

Задача - у материала есть дополнительное поле с валютой (decimal) куда вносится цена товара в евро, в карточке товара (полном тексте материала) нужно отображать значение по текущему курсу центробанка. Для этого делаем нужный нам функционал, через функцию, подключаемую на уровне шаблона материала

999
2015 14 августа

Плагин для создание ссылки в меню при сохранении материала для com_content J! 2.5

Не знаю как у всех, у меня коллега очень любит, чтобы на каждый материал была короткая ссылка.
К примеру у нас в режиме блога URL такой domen/catalog/category1
И соответственно ссылка на конечный материал будет domen/catalog/category1/id-itemAlias
Но он хочет, чтобы конечная ссылка на материал была вида domen/itemAlias

Для этого нужно создать отдельное скрытое меню (не публикуемое на сайте), там создавать ссылку на каждый материал блога и в общем гемор

Чтобы этого избежать - набросал пока простой плагин для версии 2.5.Х
Что он делает:
  1. в настройках плагина можно указать несколько категорий, материалы из которых будут проходить проверку
  2. меню, в которое будут сохраняться ссылки вида "материал"
  3. при сохранении материала меню наследует его заголовок и алиас
  4. при изменении или удалении материала пункт меню пока не меняется (все работает пока на onContentAfterSave)

Что мы получаем - в режиме блога адрес страницы домен/категория/подкатегория И при входе в материал получаем домен/алиас_материала Все это создается автоматически при сохранении материала для указанных категорий

Кому интересно потестить или предложить свои мысли (надо это или нет тоже учитывается ))) - прошу качать, версия пока только для Joomla 2.5

Версия плагина 2.1.0 itemtomenu.2.1.0.zip

943
2015 25 января

Стандартный поиск по отдельным категориям, !Joomla 2.5

Обновление поста по поиску по отдельным категориям для старой старой версии 1.0 Стандартный поиск по отдельным категориям, !Joomla 1.0.xx представляю черновую версию аналогичного поиска для движка 2.5. Цель - в форме стандартного поиска получить список категорий контента для поиска по отдельным категориям. Работает только для категорий контента, не других расширений (даже стандартных, кто желает - модификации запроса на свое усмотрение) Выглядеть в итоге (на стандартном шаблоне) должно примерно так: Стандартный поиск по отдельным категориям, !Joomla 2.5

2513
2014 09 декабря

Плагин Hide Guest Content - скрытие контента от гостей - !Joomla 3.x с группами пользователей

Версия старого плагина, позволяющего скрывать часть текста в материале от незарегистрированных пользователей.

Использование:
  1. установить и опубликовать плагин
  2. в материале нужный блок текста обрамить тегами: {gcontent}скрытый материал для пользователей гостям не виден{/gcontent}
  3. заглушка для гостей заключена в DIV с классом guest_only, возможно настроить оформление предупредительного блока по собственному желанию
  4. (новое) в настройках плагина можно указать через запятую без пробелов ID групп пользователей, которым разрешен доступ. Например если указать 3,8 - то доступ будет для авторов и суперпользователей, если просто 3 - то только авторы, суперадмин и прочие авторизованные будут видеть заглушку. Если пусто - то по умолчанию, текст доступен для всех авторизованных.
  5. ВАЖНО - разграничение прав по группам пока работает в пределах всего сайта, то есть нельзя для разных скрытых текстов указать разные наборы групп. Если кому понадобится - пишите, сделаем новую версию. Пока же as is
Changelog:
  • В версии 3.2 добавлена инвертированная опция показа, можно показывать текст только для гостей, для всех авторизованных будет заглушка "Текст только пользователей" (редактируется в админке плагина), синтаксис: {ungcontent}материал только для гостей{/ungcontent}
Скачать:

P.S. Старая версия для Joomla 2.5

Обновления:
- версия 3.1 - исправлены незначительные ошибки, вызывающие warning

2240
2014 05 декабря

Новогодняя мотня J!2.5, J!3

Не люблю такие штуки, но заказчик попросил, потому честно взял отсюда и завернул в модуль. Модуль тестировался для версий Joomla 2.5 и 3.х В итоге получается вот такая ерундовина mod_nybullshit Скачать модуль mod_nybullshit.J2.5-3 Предупреждения:
  • Модуль вставляет HTML в шапку сайта с позицией absolute, потому может перекрывать верхние элементы, для изменения в файле modules\mod_nybullshit\assets\style.css изменить высоту элемента .b-page__content
  • Вырезал звук, ибо не нужно так делать. Кто хочет - в файле modules\mod_nybullshit\assets\newyear.js раскомментировать строки 12-19 и 37 и поправить путь к файлу на var i = "/modules/mod_nybullshit/assets/ny2012.swf";
1220
2014 26 сентября

Joomla 2.5 Добавляем параметр фильтрации материалов в меню

Можно считать это продолжением и расширением темы Добавляем новую сортировку материалов в меню

У нас в таблице контента есть свое поле, в моем случае это тип недвижимости: продажа\аренда Деление по категориям мне не подходит по определенным причинам. Значит при создании ссылки в меню на блог материалов категории я хочу выводить отдельно ссылками продажу и аренду, хотя находятся все объекты в одной категории

Итак, пошагово

1 - в таблице #__content добавил поле p_type 2 - добавил в administrator\components\com_content\models\forms\article.xml новое поле и в administrator\components\com_content\views\article\tmpl\edit.php его редактирование. В моем случае это список
1
23
45
<field name="p_type" type="list" label="Тип объекта" description="Выберите тип объекта" default="0">
        <option value="">--</option>        <option value="0">Продажа квартир</option>
        <option value="1">Аренда квартир</option>  </field>
3 - создал отдельный шаблон вывода материалов контента в режиме блог catalog.xml (про шаблонизацию сейчас не буду, ссылок много как это сделать) 4 - в этом файле \templates\шаблон\html\com_content\category\catalog.xml в блоке params добавляем аналогичный код (лучше вынести значения в отдельную таблицу и работать с типом поля sql)
1
23
45
67
<fields name="params">
        <fieldset name="basic" label="JGLOBAL_CATEGORY_OPTIONS">                <field name="p_type" type="list" label="Тип объекта" description="">
                        <option value="">--</option>                        <option value="0">Продажа квартир</option>
                        <option value="1">Аренда квартир</option>                </field>
5 - файл \components\com_content\models\articles.php в функции getListQuery где-то в конце, перед return $query; написать
1
23
4
// filter by myfield
if ($params->get('p_type') != '') {        $query->where('a.p_type = '.$params->get('p_type').' ');
}
В итоге админка пункта меню становится вот такой menu_with_custom_field

А на фронте в блоге категории будут показываться те материалы, у которых указан данный параметр. Если не указано ничего, соответственно where не работает и показываются все, согласно прочим стандартным настройкам

1435
2014 10 июля

Плагин Hide Guest Content - скрытие контента от гостей - !Joomla 2.5 с группами пользователей

Обновление 2.5 старого плагина для 1.5 и чуть более нового плагина для 1.6\7, позволяющего скрывать часть текста в материале от незарегистрированных пользователей (деления по ACL нет и не планируется).

Использование:

  1. установить и опубликовать плагин
  2. в материале нужный блок текста обрамить тегами: {gcontent}скрытый материал для пользователей гостям не виден{/gcontent}
  3. заглушка для гостей заключена в DIV с классом guest_only, возможно настроить оформление предупредительного блока по собственному желанию
  4. (новое) в настройках плагина можно указать через запятую без пробелов ID групп пользователей, которым разрешен доступ. Например если указать 3,8 - то доступ будет для авторов и суперпользователей, если просто 3 - то только авторы, суперадмин и прочие авторизованные будут видеть заглушку. Если пусто - то по умолчанию, текст доступен для всех авторизованных.
  5. ВАЖНО - разграничение прав по группам пока работает в пределах всего сайта, то есть нельзя для разных скрытых текстов указать разные наборы групп. Если кому понадобится - пишите, сделаем новую версию. Пока же as is

Скачать:

1045
2014 02 июля

Joomla 2.5 Добавляем новую сортировку материалов в меню

Допустим мы добавили в таблицу #__content новое поле, к примеру с ценой (price), создали отдельный шаблон вывода материалов в режиме блога templates/шаблон/html/com_content/category.catalog.xml, там же у нас уже есть отображение цены в описании материала режима блог шаблона каталога templates/шаблон/html/com_content/category/catalog_item.php и теперь осталось только сортировать по цене при создании пункта меню

addOrderingMenuBlog

Для этого идем в файл templates/шаблон/html/com_content/category.catalog.xml и примерно с строки 202 делаем так (можно и в языковые файлы вынести)

1
23
45
67
89
1011
1213
1415
1617
18
<field name="orderby_sec" type="list"
                                description="JGLOBAL_ARTICLE_ORDER_DESC"                                label="JGLOBAL_ARTICLE_ORDER_LABEL"
                        >                                <option value="">JGLOBAL_USE_GLOBAL</option>
                                <option value="aprice">Цена по возрастанию</option>                                <option value="raprice">Цена по убыванию</option>
                                <option value="front">COM_CONTENT_FEATURED_ORDER</option>                                <option value="rdate">JGLOBAL_MOST_RECENT_FIRST</option>
                                <option value="date">JGLOBAL_OLDEST_FIRST</option>                                <option value="alpha">JGLOBAL_TITLE_ALPHABETICAL</option>
                                <option value="ralpha">JGLOBAL_TITLE_REVERSE_ALPHABETICAL</option>                                <option value="author">JGLOBAL_AUTHOR_ALPHABETICAL</option>
                                <option value="rauthor">JGLOBAL_AUTHOR_REVERSE_ALPHABETICAL</option>                                <option value="hits">JGLOBAL_MOST_HITS</option>
                                <option value="rhits">JGLOBAL_LEAST_HITS</option>                                <option value="order">JGLOBAL_ORDERING</option>
                        </field>

Далее нам нужен файл \components\com_content\helpers\query.php находим функцию orderbySecondary (строка 63) и добавляем кейсы

1
23
45
67
case 'aprice' :
        $orderby = 'a.price';break;
 case 'raprice' :
        $orderby = 'a.price DESC';break;
На этом все )

Если нам нужно добавить не только сортировку, но и фильтрацию по значению этого поля при создании ссылки в меню типа блог то можно почитать вот здесь Добавляем параметр фильтрации материалов в меню

1419
2012 24 ноября

Joomla 2.5 Заголовки материалов в навигации туда\обратно

В копилку хаков, вечно забываю где находится. Стандартная навигация вперед\назад в материале показывает только эти тексты, совершенно неинформативно. Заменим их на заголовки соответствующих материалов Файл plugins\content\pagenavigation\pagenavigation.php Найдем запрос примерно в 119 строке
1
$query->select('a.id,'.$case_when.','.$case_when1);
и заменим на (добавили заголовки)
1
$query->select('a.id, a.title, '.$case_when.','.$case_when1);
И ниже, где генерируется $row->prev и $row->next весь блок теперь выглядит так
1
23
45
67
89
1011
1213
if ($row->prev) {
        $prev_title = '« '.$row->prev->title;        $row->prev = JRoute::_(ContentHelperRoute::getArticleRoute($row->prev->slug, $row->prev->catslug));
} else {        $row->prev = '';
} 
if ($row->next) {        $next_title = $row->next->title.' »';
        $row->next = JRoute::_(ContentHelperRoute::getArticleRoute($row->next->slug, $row->next->catslug));} else {
        $row->next = '';}
И последнее, изменяем вывод, ссылки в списке теперь будут такими
1
23
45
67
89
1011
1213
14
if ($row->prev) {
        $html .= '        <li class="pagenav-prev">
                <a href="'. $row->prev .'" rel="prev">'.$prev_title.'</a>        </li>'
        ;}
if ($row->next) {        $html .= '
        <li class="pagenav-next">                <a href="'. $row->next .'" rel="next">'.$next_title.'</a>
        </li>'        ;
}
P.S. для совсем ленивых есть плагин
2390
2012 19 ноября

Joomla 2.x 3.x - плагин Content Article Image

Content Article Image Давняя мечта сбылась, дошли руки.

Скачать плагин Content Article Image v3.0.1 для версий Joomla 2.5 и Joomla 3.x
Скачать плагин Content Article Image v2.5.1 только для версии Joomla 2.5

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


Необходимо указать картинку "Изображение полного текста материала" в вкладке "Изображения и ссылки" при редактировании материала.

После сохранения материала превью сохранится в каталоге images/article_thumbs с суффиксом _thumb и пропишется в поле "Изображение для вступительного текста материала".

14618
2012 03 октября

Joomla 3.0 убираем ненужные JS с фронтальной части (шаблона)

Joomla 3.0 убираем ненужные JS с фронтальной части (шаблона)По аналогии с 1.5 и 2.5 в шаблоне нам по умолчанию грузят далеко не всегда нужные скрипты, а теперь еще и две библиотеки сразу (mootools\jquery). Лично мне это не нравится, так как в 99% проектах использую только jquery Лечим - в index.php шаблона до вызова head добавляем
1
23
45
67
89
$headlink = $this->getHeadData();
unset($headlink['scripts']['/media/system/js/caption.js']);unset($headlink['scripts']['/media/system/js/validate.js']);
unset($headlink['scripts']['/media/system/js/mootools-core.js']);unset($headlink['scripts']['/media/system/js/mootools-more.js']);
unset($headlink['scripts']['/media/system/js/core.js']);unset($headlink['scripts']['/media/jui/js/bootstrap.min.js']);
unset($headlink['scripts']['/media/jui/js/jquery-noconflict.js']);$this->setHeadData($headlink);
Какие файлы оставлять - решаем самостоятельно, я оставлю только /media/jui/js/jquery.min.js, хотя и его лучше бы грузить с CDN гугля или яндекса. Кто подскажет, как подобным же автоматическим способом убрать вызовы ненужных функций - цены тому человеку не будет, чтобы не руками в файлах ковырять, типа
1
23
45
67
window.addEvent('load', function() {
                                new JCaption('img.caption');                        });
function keepAlive() {  var myAjax = new Request({method: "get", url: "index.php"}).send();} window.addEvent("domready", function(){ keepAlive.periodical(840000); });jQuery(document).ready(function() {
                                        jQuery('.hasTooltip').tooltip({});                                });
803
2012 03 октября

Joomla 3.0 - административное меню - активация по hover (mouseover) вместо клика

Административное меню в Joomla 3.0 - активация по hover (mouseover) вместо кликаНачал смотреть новую Joomla 3.0 и что не понравилось в административном интерфейсе сходу - что на меню в админке нужно кликнуть и пока не потерян фокус оно будет раскрываться при наведении. Лишний клик, убираем. Открываем файл /media/jui/js/bootstrap.min.js находим второе вхождение слова mouseover и меняем
1
if(!o&&t.type=="click"||u&&t.type=="mouseover")
на
1
if(!o&&t.type=="mouseover"||u&&t.type=="mouseover")
1008
2012 19 февраля

Универсальный модуль слайдер товаров для Virtuemart 2.0 (VM 1.1.9 и Joomla 1.5)

Для всех текущих и новых подписчиков сайта для скачивания опубликована модуль Универсальный модуль Virtuemart Slider 2.0.0 (VM 1.1.9 и Joomla 1.5 only), аналогичный обычной версии универсального модуля 2.1.х, но с добавленной возможностью прокрутки.

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

2642
2012 21 января

Плагин Hide Guest Content - скрытие контента от гостей - !Joomla 1.6 и 1.7

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

Использование:

  1. установить и опубликовать плагин
  2. в материале нужный блок текста обрамить тегами: {gcontent}скрытый материал для пользователей гостям не виден{/gcontent}
  3. заглушка для гостей заключена в DIV с классом guest_only, возможно настроить оформление предупредительного блока по собственному желанию
Скачать:

Обновленная версия для 2.5 с разграничением прав доступа по группам пользователей находится здесь

483
2011 30 декабря

Модуль прокрутки дат для поиска созданных материалов

Не знаю зачем, но набросал вот такое решение - в блоке прокручиваем даты, по клику показываются материалы, созданные выбранным днем.

Только Joomla 1.7, только mootools (стандартный для движка, версии 1.3).

Рабочий пример http://beliyadm.rcoi.net/joomla17demo/. В демке вбиты материалы на 28-29 декабря 2011 В центре прокрутки показывается выделенным цветом текущий день, високосные года не учитывал, даты показываются только для года текущего. То есть если завтра наступит 2012 год - модуль покажет дни с 1.01.2012 до 31.12.2012 Выходные дни обведены в рамку, отображение все настраивается в modules\mod_slider_calendar\style\horizontal.css и немного параметров ширины блоков в хелпере модуля

Установка - скачать архив slider_calendar_UNZIP_FIRST.zip, распаковать, установить модуль и поисковый плагин, опубликовать

Скачать slider_calendar_UNZIP_FIRST (Joomla 1.7 only)

Тема на joomlaforum.ru
755
2011 21 ноября

Новая версия универсального модуля для Virtuemart 2.1

Предлагаю вашему вниманию обновленную версию универсального модуля отображения товаров для VirtueMart 1.1.9 и Joomla 1.5. Примеры демонстрации можно увидеть на главной странице

Предыдущую версию 1.2.3 можно скачать здесь или здесь

Внедрено:

- кнопка "купить" на ajax
- "человеческий выбор категорий" из мульти селекта (см. спойлер)
- возможность автоматической выборки подкатегорий из указанной категории
- три варианта вывода цены (просто цена, с налогом, с налогом+скидка)
- многоязычность (пока просто рус\англ, другие переводы самостоятельно делать не планирую)
- определение длины заголовка
- lightbox из модуля (опционально)
- эффект zoom из модуля (опционально)