Примеры реализации однотипных задач на разных проектах
  • Дата создания
    25 октября 2018
  • Топиков
    18
  • Ограничение на постинг
    0.000

Вывод документов через pdoResources в заданном порядке

В pdoResources есть хорошая возможность вывести конкретные документы, передав id'шники ресурсов.
По-умолчанию pdoResources выводит документы по убыванию (DESC) поля Дата публикации (publishedon).
Чтобы вывести документы в том порядке, в котором они переданы в &resources=`5,2,7` необходимо задать пустое значение для &sortby=``.
Читать дальше

Облако тегов для Modx

Мое решение задачи по созданию облака тегов для Modx Revo.
Какие были задачи: создать раздел Вопрос-ответ, для каждого ответа можно было задавать любое кол-во тегов. Выводить облако тегов в сайдбаре, при этом размером тегов показывать какие из них больше используются, чем больше размер, тем чаще они встречаются. На самой странице тега, кроме вывода материалов по данному тегу, иметь возможность прописывать вручную мета-теги и выводить текст.
Читать дальше

Добавить git на готовый проект

Добавляю git к действующему проекту.
Локальные изменения отправляем в удаленный репозиторий.
На сервере, куда требуется добавить GIT и выкатить изменения выполняю команды
git init
git add .
git commit -m "инициализация на сервере"
Далее копируем файл ./git/config на сервер
Выполняем команды
git fetch
git reset --hard origin/master

MIGX примеры

Пример для слайдера. Используются поля:
  • Изображение
  • Заголовок
  • Текст
  • Ссылка
Вкладки формы:
[{"caption":"Элементы","fields": [
{"field":"img","caption":"Картинка","inputTVtype":"image"},
{"field":"caption","caption":"Заголовок"},
{"field":"text","caption":"Текст"},
{"field":"link","caption":"Ссылка"}]
}]
Разметка колонок:
[{"header": "Картинка","dataIndex": "img","renderer":"this.renderImage","width":"100"},
{"header": "Заголовок","dataIndex": "caption","width":"400"},
{"header": "Ссылка","dataIndex": "link","width":"400"}]

[{"caption":"Gallery","fields": [
{"field":"img","caption":"Картинка","inputTV":"image"},
{"field":"caption","caption":"Заголовок"},
{"field":"subcaption","caption":"Подзаголовок"},
{"field":"text","caption":"Текст"},
{"field":"link","caption":"Ссылка"},
{"field":"tmpl","caption":"Шаблон слайда","inputTVtype": "listbox","inputOptionValues": "@SELECT IF(description!='', description, name), name FROM [[+PREFIX]]site_htmlsnippets WHERE `category` = 33;"}
]}]

Чтобы pdoMenu выводил документы в заданном порядке

Для того, чтобы pdoMenu выводил ресурсы в том порядке, в котором они перечислены в параметре resources, необходимо добавить пустой параметр sortby
{$_modx->runSnippet('pdoMenu', [
'parents' => '0',
'resources' => '7,9,10,11,8,12,13',
'sortby' => '',
])}

Прикрепляем в письмо менеджеру Excel файл с данными заказа

Обратился ко мне заказчик по доработкам minishop2, чтобы в письма менеджеру добавлять файд Excel с данными заказа. Изначально подумал про счет какой-то, или накладную. Оказалось обычная таблица с четырьмя колонками: код товара, название, цена и кол-во. Сроки как всегда поджимают — сделать надо было еще вчера.
Собственно вот так выглядил шаблон, который нужно было заполнить:

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

YML файл для маркета при использовании minishop2

Создаем документ и скрываем из меню.
У документа:
— указываем Тип содержимого — «XML»;
— замораживаем адрес, какой нам необходим.
— шаблон выбираем «Пустой»
— в содержимое добавляем:
Читать дальше

Раздел статьи для сайта через pdoPage

Решил и такой пример оставить, так как часто применяю, когда надо раздел статьи сделать или новости. Храню данные в Collection, а вывожу черех pdoPage. Также здесь в вызове присутствует указание на кастомные параметры "@styled" сниппета. В них переопределена разметка пагинации и соответственно стили. Удобно использовать, когда пагинация на всем сайте повторяется.
Читать дальше