Здоров Александр

Здоров Александр

С нами с 31 октября 2015; Место в рейтинге пользователей: #76

Дополнительные поля профиля юзера (не extended)


Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить карму в порядке возможность обновления системы.
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
Павел Гвоздь
30 мая 2016, 22:36
modx.pro
114
18 783
+19

[pdoTools] 2.5.0 - файловые элементы

Представляю вам новую версию с улучшенной поддержкой загрузки элементов из файлов.

Теперь из файлов можно грузить не только оформление, но и запускать PHP код. Это позволяет вынести в них почти все элементы системы: шаблоны, чанки, плагины и сниппеты.

Подробная документация, как обычно, вот здесь, а под катом список изменений
Василий Наумкин
29 мая 2016, 03:44
modx.pro
16
9 203
+21

Реализация сложного поиска

Добрый день? сообщество.
Можете подсказать как реализовать сложный поиск?

— Тип контракта — раздел меню на сайте
— Страна-Регион, Вид недвижимости, life style берутся из ТВ параметра
— Цена задается диапазонами «от 0 до 499 999», «от 500 000 до 1 000 000» и т.д. (тоже из ТВ)
— Код объекта точный поиск (тоже указывается в ТВ)

Извините за наивный вопрос, но не могу понять реализацию совсем (((

Сейчас код такой:

<form action="какой_то.php" method="get">
<span style="font-size: 22px; color:#c00; text-align: center; padding-top: 0px;font-family: Helvetica;">ПОИСК</span>
  
<select name="l" id="l">
  <option value="" selected>Регион</option>
  <option value="1">Первый регион</option> 
 
</select>
<select name="c" id="c">
  <option value="" selected>Тип контракта</option>
    <option value="5">Продажа</option> 
    <option value="4">Аренда</option> 
  </select>
<select name="t" id="t">
  <option value="" selected>Вид недвижимости</option>
    <option value="32">Замок</option> 
    <option value="6">Вилла</option> 
  </select>
<select name="s" id="s">
  <option value=""  selected>Life Style</option>
  <option value="13">Море</option> 
</select>
<select name="prezzo">
  <option value="1" selected="selected">Цена</option>
  <option value="2">< 0,5 M</option>
  <option value="3">0,5 - 1 M</option>
  <option value="4">1 - 2 M</option>
  <option value="5">2 - 3 M</option>
  <option value="6">> 3 M</option>
</select> 
<label>
  Код объекта:
  <input name="r" type="text" id="r" value="" size="4">
</label> 
<label>
  <input type="submit" name="button" id="button" value="искать" style="background-color:#C00; color:#FFF">
</label>
<input name="lingua" type="hidden" id="lingua" value="6" />
</form>
Михаил Боровов
24 мая 2016, 11:29
modx.pro
3
1 480
0

Вызов [[~[[+id]]]] в чанке

Например выводим список новостей:
[[pdoResources? &tpl=`news` &limit=`20`]]

Внутри чанка news видим:
<a href="[[~[[+id]]]]">[[+pagetitle]]</a>
Получается что делается 1 запрос к базе сниппетом и еще каждый раз запрос для вывод url и в итоге имеем 21 запрос к базе?

Тогда как просто можно сделать так:
<a href="[[+uri]]">[[+pagetitle]]</a>
Или тут есть какая то особенность?
Александро
19 мая 2016, 13:37
modx.pro
1
2 397
+1

FormIt передача плейсхолдеров

В категориях – где куча товаров на странице, в чанке товара вызывается AjaxForm с формой быстрого заказа. В форме автоматически заполняется поле – название товара.
Если указать
[[+pagetitle]]
, то плейсхолдер пуст.
Если указать
{$_modx->setPlaceholder('pagetitle', $pagetitle)}
передается соответственно Наименование последнего товара.
Так вот вопрос – Как можно передать наименование (артикул и может другие поля) в вызов Formit?
Klike
16 мая 2016, 16:51
modx.pro
3
2 976
0

Спам через formit

Всем привет, не как не могу разгадать загадку, не понимаю как через форму связи приходит спам.
Стоит хук math
Вчера еще добавил поле для ввода mail с валидацией.
В итоге это все не помогает и приходит по 5 писем.
Приходит такая дрянь screenshot.su/show.php?img=b45d655023c0ae58c2f0a1883c48f64c.jpg

Сергей
12 мая 2016, 08:50
modx.pro
6
7 479
0

[mspSberbank] Оплата заказов miniShop2 через процессинг Сбербанка

Теперь в miniShop2 можно подключить процессинг от Сбербанка с помощью нового дополнения mspSberbank
Илья Уткин
04 мая 2016, 14:21
modx.pro
3
13 596
+11

[UPDATE] Разные скидки в зависимости от общей суммы корзины

По следам записи Михаила Воеводского и этого объявления о работе был написан плагин для miniShop2, который позволяет выставить скидку в процентах для всей корзины в зависимости от общей суммы корзины.
Скидка выставляется пошагово: по достижении определённых сумм применяется своя скидка. К примеру, корзина стоит 100кр — скидка 10%, 150кр — 15%. При желании можно выставить сколько угодно шагов и какой угодно процент. Данные указываются массивом в самом начале плагина, вот так:
$discounts = array(
    '100000' => '10%',
    '150000' => '15%',
    '200000' => '20%',
);
Часть кода была взята из компонента msPromoCode, в частности для того, чтобы цены на товары в корзине обновлялись динамически при смене кол-ва или удалении товара из корзины.
Павел Гвоздь
22 апреля 2016, 17:54
modx.pro
23
6 552
+11

Вывод похожих статей c помощью тегов

Добро, подскажите пожалуйста,

Пытаюсь реализовать вывод похожих статей c помощью тегов (TV поле — Авто-метка).
Если указывать 1 тег в TV поле в создаваемом ресурсе а также в искомых ресурсах — то работает.
Если перечисление тегов через запятую то — НЕ работает.

Подскажите как &where запрос исправить? или может есть альтернативы снипеты / плагины

[[!pdoResources? 
    &parents=`0` 
    &limit=`10` 
    &select=`{"modResource":"uri,pagetitle,menutitle"}` 
    &includeTVs=`tags`
    
    &where=`{"tags":"[[*tags]]"}`
    
    &tpl=`@INLINE — <a href="[[+uri]]">[[+menutitle:default=`[[+pagetitle]]`]]</a>`
    &outputSeparator=`
`
    &sortby=`RAND()` 
    &showLog=`1`
]]
// Лог если несколько тегов - не выводит не чего. 
0.0003128: pdoTools loaded
0.0000610: xPDO query object created
0.0010691: Included list of tvs: tags
0.0007489: leftJoined modTemplateVarResource as TVtags
0.0003490: Added selection of modResource: SQL_CALC_FOUND_ROWS `uri`, `pagetitle`, `menutitle`
0.0000191: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.tags`
0.0000930: Replaced TV conditions
0.0000579: Processed additional conditions
0.0009470: Added where condition: `TVtags`.`value`=nod32,3dmax, modResource.published=1, modResource.deleted=0
0.0000470: Replaced TV conditions
0.0003021: Sorted by RAND(), DESC
0.0000088: Limited to 10, offset 0
0.0004950: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`uri`, `modResource`.`pagetitle`, `modResource`.`menutitle`, IFNULL(`TVtags`.`value`, '') AS `tv.tags` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVtags` ON `TVtags`.`contentid` = `modResource`.`id` AND `TVtags`.`tmplvarid` = 5 WHERE  ( `TVtags`.`value` = 'nod32,3dmax' AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY RAND() DESC LIMIT 10 "
0.0016038: SQL executed
0.0001750: Total rows: 0
0.0000150: Rows fetched
0.0000379: Prepared and processed TVs
0.0000019: Returning processed chunks
0.0063808: Total time
17 301 504: Memory usage
tvset
13 апреля 2016, 23:00
modx.pro
5
3 288
0

Tickets + UserFiles - загрузка с фронт-энда

Для чего:

— Если у вас реализовано добавление тикетов с фронт-энда пользователями и вам нужен удобный инструмент для отслеживания прикрепленных изображений
— Вам нужно несколько независимых друг от друга форм добавления изображений с уникальными параметрами
— Вы хотите иметь единую закладку с загруженными изображениями в тикетах
Максим Кузнецов
12 апреля 2016, 05:05
modx.pro
16
4 261
+5