0.00
97 читателей, 78 топиков

[EVO] MODx EVO console

Всем здравствуйте.

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

установка. Все как всегда подключаем в личном кабинете репозитория архивчик инстала
https://github.com/bumkaka/console/archive/master.zip


Что умеет:

— выполнять PHP код
— выполнять MySQL запросы
— выполнять CSV импорт небольшой, программист разберётся что там и как (необходимо наличе assets/libs/document.class.php есть в сборке dmi3yy).
— создавать ресурсы, скопируйте верстку одно уровнего меню без UL



Читать дальше →

Демо магазин для тех, кто начинает разбираться с Рево

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

Автор Shopkeeper вот тут выложил готовый архив сайта:
http://modx-shopkeeper.ru/

Достаточно просто разархивировать, залить базу и у вас будет полностью рабочий сайт с минимальным дизайном и настроенными:
1) Каталогом c тестовыми продуктами в двух версиях — в отдельной таблице и в документах модх
2) Меню
3) Shopkeeper
4) Фильтрами

вот пример http://demo-revo.modx-shopkeeper.ru/

Дальше можно экспериментировать как угодно.

В общем тестируйте, пробуйте, учитесь на примерах и успешных сайтов!

easyForm - визуальный конструктор несложных форм

Дополнение состоит из двух частей — модуль для создания произвольного количества форм и задания им произвольного количества полей произвольных типов и сниппет для вывода формы на сайт и формирования отчета (все остальные действия осуществляются на базе eForm). Делал для одного из сайтов — вроде претензий по багам не было :)

Простейший пример вызова на сайте

[!easyForm? &formid=`f1`!] — где цифра после префикса f — это id формы из модуля (в нашем случае — это 1).

upd 15.12.2013
встречайте easyForm 0.2
Основные нововведения:
1 добавлен параметр &config в вызов (по умолчанию default), который вызывает соответствующий файл шаблонизации вывода формы
2 ООП
3 шаблонизация вывода формы на фронтэнд и в админку
4 возможности мультиязычности через подгрузку языкового массива в сниппете в переменную $eF->lang перед загрузкой метода $eF->Run()
5 возможности самостоятельно задавать названия таблиц для форм и полей форм, если стандартные уже заняты — как в сниппете, так и в модуле
6 Сниппет easyForm перенесен из файла в базу для легкой и удобной интеграции с evoBabel. Пример интеграции:
$eF->lang=$_SESSION['perevod'];

подгружает массив актуальных переводов в нашу форму.

Ссылка на скачивание архива новой версии

upd добавлен параметр вызова &ajaxMode=`1` для работы без перегрузки всей страницы плюс соответствующие js и css файлы. Для корректной работы необходим подключенный на сайте jquery не ниже 1.7.2 (рекомендуется версия jquery 1.10.2)
Для использования обновить полностью архив

Так это выглядит внутри модуля:
создание форм (список доступных форм, ссылки на редактирование/удаление) плюс форма для создания новой формы.

Ссылка, где это можно скачать (инструкция по установке — в файле readme.md и где посмотреть результаты работы.


Читать дальше →

[EVO] Превью со ссылкой на оригинал - без directResize

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

Читать дальше →

[REVO] Двойной слеш в URL

SEO MODX
Вот наткнулся на коммент modx.im/blog/news/1596.html#comment15116
А modx действительно лучше всех популярных cms в том числе и по части возможностей для СЕО оптимизации.
Вот как раз вчера в одном из фреймов (Phalcon), нашол на мой взгляд неприятную вещь.
В урле косые не обрабатываются, вернее урл вида
site.com//////test выводит страницу — test
Ну и решил сразу проверить в модексе, и…
Во всех версиях Рево и Ево, эта фича присутствует
Как пример
modx.com/why-modx////industries//////high-tech/////////////

Читать дальше →

[EVO] Мультизагрузчик файлов в админке через jquery uploadify

Решил подправить загрузчик файлов через flash в «Управлении файлами». Бывает, иногда надо вставить файлы кучками не через контент. Конечно, KCFinder удобен в этом плане, но чтобы его вызвать напрямую, надо открывать какой-нибудь документ для редактирования и я не стал заморачиваться, а в «управлении файлами» я давно, еще с версии 0.96 пользуюсь uploadify. Это флешка и скрипт на php и пара JS со всеми вытекающими. Основная задача — чтобы за один раз можно было выбрать более одного файла.



Есть, конечно, недоработки (не я писал этот модуль, только правил для работы с версии 1.0.5) — картинки автоматом не ресайзятся, и не транслитерируются, не отрабатывает событие «OnFileManagerUpload», но если руки на месте — всё будет ок, для своих задач юзабельно.

Если есть идеи добавить в обработчик колбека недостающие функции, перечисленные выше, или вообще переписать заново — есть репозиторий на github. Там же можно и скачать.

[EVO] Ускоряем разработку в MODX с помощью EMMET

В последних версиях CodeMirror встроен замечательный плагин Emmet
кто не знаком вот пару ссылок:
emmet.io/
habrahabr.ru/post/170565/

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

"!dit":"[!Ditto? &parents=`` &tpl=`` &sortDir=`ASC` &paginate=`0` &display=`3`!]",
"dit":"[[Ditto? &parents=`` &tpl=`` &sortDir=`ASC` &paginate=`0` &display=`3`]]",
"!dittto":"[!Ditto? &parents=`` &tpl=`` &sortDir=`ASC` &paginate=`0` &display=`3`!]",
"ditto":"[[Ditto? &parents=`` &tpl=`` &sortDir=`ASC` &paginate=`0` &display=`3`]]",
"thumb":"[[phpthumb? &input=`[+image+]` &options=`w=150,h=76,far=C,bg=FFFFFF`]]",
"!thumb":"[[phpthumb? &input=`[+image+]` &options=`w=150,h=76,far=C,bg=FFFFFF`]]",
"!evo":"[!EvoGallery? &display=`images`!]",evo:"[[EvoGallery? &display=`images`]]",
"evogallery":"[[EvoGallery? &display=`images`]]",
"!evogallery":"[!EvoGallery? &display=`images`!]",
"cheader":"{{header}}",
"chead":"{{head}}",
"con":"[+content+]",
"content":"[+content+]",
"foo":"{{footer}}",
"cfooter":"{{footer}}"

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

Читать дальше →

MultiPhotos и галерея в стиле Вконтакте или Яндекс.Картинок

Пол года назад Илья Уткин написал сниппет для Revo, назначение которого понятно из заголовка топика. Вчера попросили сделать как раз такой вывод картинок на Evo-сайте.

Читать дальше →

EvoGallery (новый менеджер галереи)

Приветствую всех!

Все началось с того что друг решил заиметь себе сайт.
И надо ему разместить на нем портфолио, а оно у него ну очень обширное.

EvoGallery — классный модуль, но подписывать эскизы…
(еще год назад Dmi3yy на GitHub предлагал)

Вот хочу вынести на суд, свое первое в жизни «творение».

Что получилось из скрещивания jQuery-File-Upload и EvoGallery (Pre-alpha)
Видео

Что умеет в отличие от «стокового» менеджера:
  • быстро и удобно заполнять титлы и дескрипшины к картинкам
  • менять размеры для каждого ресурса
  • навигация кликом по дереву ресурсов
  • ...

Ну и полностью совместим с сниппетом EvoGallery.

Задумок много, хотелось бы услышать ваши пожелания.

UPD
Небольшие фиксы (теперь работает генерация превьюшек и сохраняется оригинал)
Собрал пакет для репозитория:
github.com/russelgal/eGal/archive/master.zip
UPD1
добавлена регенерация
github.com/russelgal/eGal2/archive/master.zip

Rotate. Смена картинок в шапке

Добрый день.

Сегодня надо было сделать в шапке сайта красивую смену картинок. Набросал по быстряку сниппет.

Название сниппета: rotate
Описание: красивая смена изображений


<?php
/*      
* Смена картинок
* 
* version: 0.2
* 
* Author:
*       darksmoke from modx.im
*                       dsmoke@ukr.net
* 
* Параметры:
*       &path - путь к папке с картинками. На конце слэш (Пример: assets/images/rotate/")
*		
*/

if ($handle = opendir($_SERVER['DOCUMENT_ROOT'].'/'.$path)) 
{
	$output = '<ul id="fade">';
    while (false !== ($file = readdir($handle))) 
	{ 
        if ($file != "." && $file != "..") 
		{ 
			$output .= '<li><img src="[(site_url)]'. $path . $file .'" alt="" /></li>';
        } 
    }
	$output .= "</ul>";
    closedir($handle); 
}

return $output;
?>


Как использовать?

Добавляем строки между тэгом head и /head

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
	<script type="text/javascript" src="http://focus-sns.googlecode.com/svn/tags/connect-1.1.0/connect-web/src/main/webapp/components/jquery-cycle/jquery.cycle.min.js"></script>
	<script type="text/javascript">
		$(document).ready(function () {
			$('#fade').cycle();
		});
	</script>