Июл 10
Обновление 2.5 старого плагина для 1.5 и чуть более нового плагина для 1.6\7, позволяющего скрывать часть текста в материале от незарегистрированных пользователей (деления по ACL нет и не планируется).
Использование:
1 — установить и опубликовать плагин
2 — в материале нужный блок текста обрамить тегами: {gcontent}скрытый материал для пользователей гостям не виден{/gcontent}
3 — заглушка для гостей заключена в DIV с классом guest_only, возможно настроить оформление предупредительного блока по собственному желанию
4 — (новое) в настройках плагина можно указать через запятую без пробелов ID групп пользователей, которым разрешен доступ. Например если указать 3,8 — то доступ будет для авторов и суперпользователей, если просто 3 — то только авторы, суперадмин и прочие авторизованные будут видеть заглушку. Если пусто — то по умолчанию, текст доступен для всех авторизованных.
5 — ВАЖНО — разграничение прав по группам пока работает в пределах всего сайта, то есть нельзя для разных скрытых текстов указать разные наборы групп. Если кому понадобится — пишите, сделаем новую версию. Пока же as is
Скачать:
Июл 02
Допустим мы добавили в таблицу #__content новое поле, к примеру с ценой (price), создали отдельный шаблон вывода материалов в режиме блога templates/шаблон/html/com_content/category.catalog.xml, там же у нас уже есть отображение цены в описании материала режима блог шаблона каталога templates/шаблон/html/com_content/category/catalog_item.php и теперь осталось только сортировать по цене при создании пункта меню
Для этого идем в файл templates/шаблон/html/com_content/category.catalog.xml и примерно с строки 202 делаем так (можно и в языковые файлы вынести)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
2
3
4
5
6
7
| case 'aprice' :
$orderby = 'a.price';
break;
case 'raprice' :
$orderby = 'a.price DESC';
break; |
На этом все )
Мар 22
Пишу с горящего танка на Нахимова.
А хохлы (не путать с правоверными славянами\украинцами) идут в известное место и творят в киеве и дальше все что им вздумается.
Ни одной поганой рожи больше здесь не будет, и это называется хорошо.
Всех с праздником!
Сен 01
Никак руки не доходили, попробуем теперь.
Что получим на выходе — минималистичный сайт без привязок модулей к разным страницам и прочих «сложных» элементов, эдакий сайт визитка на полном ajax с использованием Jquery и History API (то есть в браузере кнопочки вперед\назад будут работать в полноценном режиме)
Сразу для разжигания инЂереса ссылка на рабочий результат
« читать всё »
Ноя 24
В копилку хаков, вечно забываю где находится.
Стандартная навигация вперед\назад в материале показывает только эти тексты, совершенно неинформативно.
Заменим их на заголовки соответствующих материалов
Файл 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
2
3
4
5
6
7
8
9
10
11
12
13
| 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
2
3
4
5
6
7
8
9
10
11
12
13
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. для совсем ленивых есть плагин
Ноя 19
Давняя мечта сбылась, дошли руки.
Скачать плагин Content Article Image v2.5.1 для версии Joomla 2.5
Плагин превращает загруженное изображение для полного текста материала в превью с аналогичными параметрами.
Необходимо указать картинку «Изображение полного текста материала» в вкладке «Изображения и ссылки» при редактировании материала.
После сохранения материала превью сохранится в каталоге images/article_thumbs с суффиксом _thumb и пропишется в поле «Изображение для вступительного текста материала».
« читать всё »
Окт 02
По аналогии с 1.5 и 2.5 в шаблоне нам по умолчанию грузят далеко не всегда нужные скрипты, а теперь еще и две библиотеки сразу (mootools\jquery). Лично мне это не нравится, так как в 99% проектах использую только jquery
Лечим — в index.php шаблона до вызова head добавляем
1
2
3
4
5
6
7
8
9
| $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
2
3
4
5
6
7
| 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({});
}); |
Окт 02
Начал смотреть новую 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") |
Фев 18
Для всех текущих и новых подписчиков сайта для скачивания опубликована модуль Универсальный модуль Virtuemart Slider 2.0.0 (VM 1.1.9 и Joomla 1.5 only), аналогичный обычной версии универсального модуля 2.1.х, но с добавленной возможностью прокрутки.
Демонстрация на отдельной странице
Демонстрация в сочетании с обычной версией модуля
Модуль сделан в виде отдельной инсталляции (mod_virtuemart_universal_slider), можно публиковать на одной странице с обычной версией 2.1.х. Пример совмещенного использования модулей можно посмотреть на главной странице
Условия получения доступа к скачиванию модулей для virtuemart описаны здесь
Перейти на страницу скачивания
« читать всё »
Янв 21
Обновление старого плагина для 1.5, позволяющего скрывать часть текста в материале от незарегистрированных пользователей (деления по ACL нет и не планируется).
Использование:
1 — установить и опубликовать плагин
2 — в материале нужный блок текста обрамить тегами: {gcontent}скрытый материал для пользователей гостям не виден{/gcontent}
3 — заглушка для гостей заключена в DIV с классом guest_only, возможно настроить оформление предупредительного блока по собственному желанию
Скачать:
Обновленная версия для 2.5 с разграничением прав доступа по группам пользователей находится здесь
Янв 14
Опять же не знаю кому нужно, но на всякий случай пусть лежит.
Суть — модуль выводит календарь всего текущего года в классическом бумажном виде, выходные подсвечиваются, текущий день выделяется (все в CSS).
Использовался класс от разработчика Jim Mayes, чуть модифицировал под русский язык, заморачиваться с setlocale не стал, потому только хардкор, только кириллица.
P.S. размеры большие, потому рекомендую вставлять в пустой материал через loadmodule
Скачать модуль календаря на весь текущий год (Joomla 1.7)
Скачать модуль календаря на весь текущий год Joomla 1.5)
Дек 29
Не знаю зачем, но набросал вот такое решение — в блоке прокручиваем даты, по клику показываются материалы, созданные выбранным днем.
Только 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
Ноя 21
Предлагаю вашему вниманию обновленную версию универсального модуля отображения товаров для VirtueMart 1.1.9 и Joomla 1.5. Примеры демонстрации можно увидеть на главной странице
Предыдущую версию 1.2.3 можно скачать здесь или здесь
Внедрено:
— кнопка «купить» на ajax
— «человеческий выбор категорий» из мульти селекта (см. спойлер)
— возможность автоматической выборки подкатегорий из указанной категории
— три варианта вывода цены (просто цена, с налогом, с налогом+скидка)
— многоязычность (пока просто рус\англ, другие переводы самостоятельно делать не планирую)
— определение длины заголовка
— lightbox из модуля (опционально)
— эффект zoom из модуля (опционально)
Подробности модуля и варианты приобретения описаны здесь
« читать всё »
Recent Comments