Готовые решения

[Tickets] Компонент TicketMessages

По мотивам заметки про сообщения на Tickets.
Освоил создание компонентов (спасибо Василию за курс) и предлагаю на ваш суд свой первый компонент TicketMessages. Напомню, это дополнение к Tickets, которое позволяет работать с комментариями как с личными сообщениями.
Сергей Шлоков
23 ноября 2014, 04:27
8
6 869
+9

[miniShop2] Сниппет msVendor

Ковыряясь с AJAX загрузкой данных о продукте написал сниппет для получения данных о производителе по id.

Как работает:
Указываем id и получаем данные производителя в виде массива, либо строки обработанного чанка.

aj
aj
11 ноября 2014, 15:50
4
2 029
+4

[Tickets] Превращаем комментарии в отзывы

С ajax и смайликами разобрались. Теперь осталось только поколдовать, чтобы комментарии выглядели как отзывы, чтобы посетители видели примерно вот такое:



Сергей Шлоков
07 ноября 2014, 19:19
8
7 987
+8

[Tickets] Комментарии со смайликами

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

В первой части я написал, что ajax — самая простая часть. На самом деле — добавить смайлики к комментариям так же просто. Всего те же простых 3 шага.
Сергей Шлоков
01 ноября 2014, 13:37
8
2 439
+12

Сниппет вывода изображений из альбома компонента Gallery с разбивкой на ''мультиплейсхолдеры''

Для начала создадим новый тип TV вот по этой инструкции — community.modx-cms.ru/blog/tips_and_tricks/8733.html

Далее создаём сниппет, который будет выводить наши изображения из альбома заполненного в TV поле ресурса:
Пашок
01 ноября 2014, 09:11
1
2 272
+1

[Tickets] Ajax комментарии

В продолжении темы про книгу отзывов.
Как и обещал, выкладываю описание решения. Только я решил разбить его на отдельные пункты, потому что каждая из описанных возможностей может быть использована независимо от других.
Первым пунктом была указана возможность ajax подгрузки комментариев. Она самая простая. С нее и начнем.
Сергей Шлоков
31 октября 2014, 15:34
13
6 097
+11

[Tiсkets] Книга отзывов с ajax подгрузкой

Набравшись необходимых знаний в программировании и MODX, решил переделать книгу отзывов со своего сайта, удалить красивый, но кривой modxTalks, который разработчики давно забросили, и поставить отличный компонент Tickets — быстрый, удобный, с огромным функционалом. А главное, его автор всегда на связи и всегда готов помочь.
Пару дней разборок, которые мне выделили родные, взяв на себя все домашние обязанности и детей, и вот что в итоге получилось. Это пока бета версия. Хотелось бы услышать рекомендации от старших товарищей.
Что пришлось сделать:
1. Подгрузку комментариев по нажатию на кнопку, чтобы не выводить всю простыню пользователю. Можно было бы и автоматом при достижении низа страницы, но мне больше нравиться по кнопке. Также реализовано в Яндексе.
2. Смайлики. Ну куда же без них. Красиво же.
3. Ну и с CSS поколдавать, чтобы выглядело как простая книга отзывов.
Сергей Шлоков
27 октября 2014, 18:55
3
2 632
+4

Сниппет конвертирования из modResource в MS Word

Сниппет способен формировать *.doc файлы на основе заголовка и текста указанной страницы.
Пашок
23 октября 2014, 10:52
1
1 240
+2

Сниппет вывода path первого изображения из альбома компонента Gallery

Для начала создадим новый тип TV вот по этой инструкции — community.modx-cms.ru/blog/tips_and_tricks/8733.html

Далее создадим сниппет, который будет выводить наше первое изображение из альбома заполненного в дополнительных полях ресурса:
<?php
// Сниппет получения пути изображения из указанного альбома компонента Gallery

$album = $modx->getOption('album', $scriptProperties, '1'); // проверяем, указан ли id альбома.. (по умолчанию - id альбома = 1)
$rank= $modx->getOption('rank', $scriptProperties, '0'); // проверяем, указан ли номер картинки в альбоме, по счёту от начала, которую нужно вывести.. (по умолчанию - первая)
$toPlaceholder = $modx->getOption('toPlaceholder', $scriptProperties, ''); // в плейсхолдер

$where=array();
$where['album'] = $album;
$where['rank'] = $rank;

$gAlbumItemObj = $modx->getObject("galAlbumItem", $where );

$pathToImage = ''; // Сохраняем пустоту, чтобы в случае пустого альбома обновить плейсхолдер..

// Проверяем, получили ли мы результат.. проще говоря - есть ли такая картинка в таком альбоме
if(is_object($gAlbumItemObj)) {
	$gItemObj = $modx->getObject("galItem", array('id' => $gAlbumItemObj->get('item')) );
	
	$pathToImage = '/assets/gallery/' . $gItemObj->get('filename');
	//print_r($gItemObj->toArray()); die;
}

if($toPlaceholder!='') {
	$modx->setPlaceholder($toPlaceholder, $pathToImage);
} else {
	return $pathToImage;
}
Пример запроса к сниппету:
[[!getGalleryImage? &album=`[[*hotelPhotos]]`&toPlaceholder=`hotelFirstImage`]]
[[*hotelPhotos]] — это TV с id альбома Gallery (с тем новым типом TV, который мы создали по инструкции выше)
Также мы можем указать параметр «rank», он будет отвечать, какое по счёту изображение от начала нам вывести. Допустим если укажем "&rank=`1`", то получим второе по счёту от начала изображение, укажем «2» — получим третье изображение и т.д.
Пашок
22 октября 2014, 11:53
1
1 491
+1