Для разработчиков

Практика резервного копирования на MODX

С ростом опыта и усложнением работ, все актуальнее становится тема резервного копирования базы данных, особенно при наличии большого объема информации.
Хочу поделиться своим опытом с начинающими разработчиками, а также почитать советы опытных мастеров.
Мне такая статья очень пригодилась бы на определенном этапе развития.

Николай Савин
27 декабря 2016, 21:34
modx.pro
5
10 061
+7

groupIt - обертка результатов.

Была задача вывод элементов от pdoResources поделить на группы и обернуть их в div.
Поиск дал приятный результат, я нашел ответ в виде спиппета groupResources(это был обычный велосипед) и переписал его на свой лад.
Пример его работы
<div class="group">
     ContentA
     ContentB
     ContentC
   </div>
   <div class="group">
     ContentD
     ContentE
   </div>
DimenSi
14 августа 2016, 08:00
modx.pro
31
4 245
+26

Доступ к странице сайта по id

Давно работаю с modx, но только сегодня узнал, что достучаться до любой страницы сайта при включенных ЧПУ можно дописав в адресной строке после имени домена ?id=Идентификатор_ресурса. Например, site.ru/?id=5375.
Рад если кому-то пригодится!
Дмитрий Куликов
09 июня 2016, 08:30
modx.pro
3
4 841
-2

Делаем колбеки miniShop2 для всех

Всем привет! Так как в miniShop2 есть список колбеков для того, чтобы на определённые действия, совершаемые компонентом, можно было повесить свой код и, тем самым, дополнить работу магазина, то многие разработчики дополнений используют их в своём коде. Я уж не говорю о вебмастерах, которые используют этот инструмент для решения определённых нужд в своих сайтах.

В чём проблема?

В связи с этим получается проблема. Колбеков мало, а желающих воспользоваться ими — много. Я уже не раз сталкивался с тем, что некоторые компоненты из Modstore не могут работать вместе, т.к. используют одни и те же колбеки, на одних и тех же страницах.
Проблема в том, что код одного компонента, использующего, например miniShop2.Callbacks.Order.getcost, пересекается с другим кодом, другого компонента, использующего этот же колбек. Получается конфликт, который я для себя, в своих пакетах, решаю так:
Павел Гвоздь
22 мая 2016, 00:53
modx.pro
13
6 212
+3

Ошибка в работе сниппета MinifyX

Всем привет!
Установил пакет minifyX, все работало прекрасно пока не возникла ошибка:
Fatal error: Uncaught exception 'Sabberworm\CSS\Parsing\UnexpectedTokenException' with message 'Identifier expected. Got “: 768”' in D:\OpenServer\domains\projects\site.ru\www\core\components\minifyx\munee\vendor\sabberworm\php-css-parser\lib\Sabberworm\CSS\Parser.php:174 Stack trace: #0 D:\OpenServer\domains\projects\site.ru\www\core\components\minifyx\munee\vendor\sabberworm\php-css-parser\lib\Sabberworm\CSS\Parser.php(398): Sabberworm\CSS\Parser->parseIdentifier(true, false) #1 D:\OpenServer\domains\projects\site.ru\www\core\components\minifyx\munee\vendor\sabberworm\php-css-parser\lib\Sabberworm\CSS\Parser.php(353): Sabberworm\CSS\Parser->parsePrimitiveValue() #2 D:\OpenServer\domains\projects\site.ru\www\core\components\minifyx\munee\vendor\sabberworm\php-css-parser\lib\Sabberworm\CSS\Parser.php(185): Sabberworm\CSS\Parser->parseValue(Array) #3 D:\OpenServer\domains\projects\site.ru\www\core\components\minifyx\munee\vendor\sabberworm\php-css-parser\lib\Sabberworm\CSS\Parser.php( in D:\OpenServer\domains\projects\site.ru\www\core\components\minifyx\munee\vendor\sabberworm\php-css-parser\lib\Sabberworm\CSS\Parser.php on line 174
Роман А.
12 мая 2016, 18:59
modx.pro
3 734
-2

Fenom. Загрузка чанков и сниппетов из файлов

Продолжаю эксперименты с загрузкой чанков и сниппетов из файлов. Мой первый эксперимент с парсером оказался не очень удачный. Хотя задачу он решал, но ожидания были немного другие. А поближе познакомившись с феномом, нашел, как мне кажется, хорошее решение — модификаторы. Дальше для тех, кому это интересно.
Сергей Шлоков
11 мая 2016, 15:16
modx.pro
12
5 377
+12

Сниппет с выводом инфо о странице по заданному tv

Здравствуйте. Не могу добиться вывода инфо о странице. При вызове функции в сниппете браузер выдает ошибку.(modx evo)
function show_members() {
    global $modx;
	$id = $modx->documentIdentifier;
	$tv_info = $modx->getTemplateVarOutput(array(61));
	$id = $tv_info[0];
	$id = (int) $id;
    $output = '';
    $table = $modx->getFullTableName('site_content');
     
	$result = $modx->db->select('id,pagetitle,published,createdon,CreatedBy', $table, "id = {$id}");
    $members = $modx->db->makeArray($result);
	foreach( $members as $p_val ) {     
	     foreach( $p_val as $m_key => $m_val ) {
			 $html .= $modx->parseChunk('tv-info', array(
		            'id' => $m_val['id'],
		            'pagetitle' => $m_val['pagetitle'],
					'published' => $m_val['published'],
					'createdon' => $m_val['createdon'],
					'createdby' => $m_val['CreatedBy']
		        ),
	        	'[+',
		        '+]'
	        	);
	echo ($html);
			}
		}
}

echo(show_members());
?>
Максим
09 марта 2016, 09:16
modx.pro
1 465
-2

transport.tv.php - или как транспортировать tv

Расковыривая github.com/bezumkin/modExtra до крови, да бы упаковать свой mSocial я столкнулся с грустной проблемой он не умеет создавать tv. Ну или может быть умеет, но я не нашел как, в связи с этим решил немного его расширить добавив новый транспортер. Итак, что же нужно делать?
Павел Карелин
29 января 2016, 10:48
modx.pro
3
2 201
+5

mSocial или как нужно делать компоненты.

Доброе время суток товарищи.
И я опять как с писаной торбой кручусь тут с mSocial я уже реализовал постинг из класса в 4 соцсети (vk, fb, tw, lj), все постится без особых танцев с бубном. Главный вопрос в том как лучше быть, стремиться быстрее дать Вам инструмент постинга в соцсети, все наращивая функционал. Или выдать уже готовый проект с как можно большим набором функций (но на это уйдет гораздо больше времени чем я думал). Варианта развития событий я вижу 2 и вот они.
Павел Карелин
17 января 2016, 19:42
modx.pro
2
4 409
+3

mSocial - или залихвацкий кросспостинг в соцсети.

В общем недавно загорелся желанием написать какое-нибудь полезное расширение. По своему опыту точно знаю, что нормальных расширений для постинга в соцсети нет. А увидев что появился VKShare за 800 рублей, да еще и с возможностью постинга только в ВК. Мое терпения лопнуло, а вернее закричало «Доколе?». Тем более что я давно собирался довести до ума свое владение ООП. В общем из всей этой вакханалии родился, а вернее рождается mSocial. На данный момент я только разобрался как легко и замечательно, помощью API постить сообщения во всевозможные группы, профили и страницы, этих распрекрасных социалок. За этим был написан класс для легкого и удобного постинга.
Павел Карелин
14 января 2016, 09:05
modx.pro
6
4 324
+12