Вопросы
Tickets отменять публикацию своих тикетов с фронтенд
Подскажите пожалуйста! У меня есть простенькая доска объявления сделаная на тикетс (под недвижимость).
Настроен личный кабинет регистрация и тд и тп. Пользователи могут добавлять в категории свои тикеты (объявления) и в личном кабинете выводится список добавленных им объявлений. Все прекрасно, но нужно сделать чтобы пользователи могли удалять и снимать с публикации свои объявления. Подскажите в какую хоть сторону копать?
Настроен личный кабинет регистрация и тд и тп. Пользователи могут добавлять в категории свои тикеты (объявления) и в личном кабинете выводится список добавленных им объявлений. Все прекрасно, но нужно сделать чтобы пользователи могли удалять и снимать с публикации свои объявления. Подскажите в какую хоть сторону копать?
Подзапрос в pdoFetch
Пожалуйста, подскажите гуру MODX — есть ли возможность как-то указать подзапрос в leftjoin?
Запрос сейчас выглядит так:
Цель: нужно вытащить только те изображения, у которых в поле description есть уникальное значение (там хранится цвет товара). С этим кодом в $small попадают все изображения. Для этого скорей всего нужен подзапрос в leftjoin, в котором я бы сделал GROUP BY. Если подскажите другое решение, буду признателен.
Запрос сейчас выглядит так:
{'!msProducts'|snippet:[
'limit' => '3',
'parents' => '3',
'sortby' => 'publishedon',
'sortdir' => 'ASC',
'tpl' => '@FILE chunks/minishop2/products_row.tpl',
'leftJoin' => '{"small":{"class":"msProductFile","alias":"small", "on": "small.product_id = msProduct.id AND small.path LIKE \'%/small/\'"}}',
'select' => '{"small":"GROUP_CONCAT(small.url ORDER BY small.rank SEPARATOR \';\') as images"}',
'showLog' => '1',
]}Цель: нужно вытащить только те изображения, у которых в поле description есть уникальное значение (там хранится цвет товара). С этим кодом в $small попадают все изображения. Для этого скорей всего нужен подзапрос в leftjoin, в котором я бы сделал GROUP BY. Если подскажите другое решение, буду признателен.
pdoTools + Tickets + Ajax
Добрый день!
В modx я новичек, но учусь. Я пытаюсь вывести контент с помощью pdoTools + Tickets + Ajax.
Мои шаги такие:
В modx я новичек, но учусь. Я пытаюсь вывести контент с помощью pdoTools + Tickets + Ajax.
<div id="pdopage">
<div class="rows">
[[!pdoPage?
&element=`getTickets`
&parents=`16`
&limit=`1`
&ajaxMode=`button`
&nestedChunkPrefix=`tickets_`
&ajaxTplMore=`@INLINE <button>Загрузить ещё</button>`
]]
</div>
[[!+page.nav]]
</div>Вместо кнопки «Загрузить еще», появляется полноценная навигация как при &ajaxMode=`default`.Мои шаги такие:
- Я создаю ресурс (с типом ресурса тикет)
- Цепляю шаблон
- Собственно создаю сам шаблон и вставляю код указанный выше
Динамические поля у пользователя? office.
Есть дополнение office. Как в личном кабинете сделать возможность динамически добавлять данные?
Например каждый пользователь может добавлять строку, в которой есть несколько полей… этих строк может быть сколько угодно… может удалять и добавлять, делать чекбоксом активную строку.
И потом на сайте из всех пользователей выводить эти данные… чем это реализовать можно?
Например каждый пользователь может добавлять строку, в которой есть несколько полей… этих строк может быть сколько угодно… может удалять и добавлять, делать чекбоксом активную строку.
И потом на сайте из всех пользователей выводить эти данные… чем это реализовать можно?
Можно ли сделать категории для категорий?
Здравствуйте!
У товаров в minishop2 есть классная вкладка «категории», благодаря которой товар виртуально может находится в нескольких категориях, а можно ли такую вкладку вывести для категорий с товарами
чтоб категорию можно было выводить в нескольких родительских категориях?
У товаров в minishop2 есть классная вкладка «категории», благодаря которой товар виртуально может находится в нескольких категориях, а можно ли такую вкладку вывести для категорий с товарами
чтоб категорию можно было выводить в нескольких родительских категориях?
Как изменять старую цену в miniShop2 через плагин?
Всем привет. Бьюсь над этой задачей уже пару дней, так и не могу понять как по аналогии с этим модификатором цен сделать тоже самое, но для старой цены old_price, если брать в расчёт что price по аналогичному алгоритму изменяется на сайте?
case 'msOnGetProductPrice':
// Плагин принимает:
// $product - объект msProductData
// $data - массив со свойствами товара, может отсутствовать
// $price - текущая цена товара
// Подключаем массив значений по ссылке - так удобнее
$values = & $modx->event->returnedValues;
// Цена может меняться несколькими плагинами сразу, поэтому проверяем:
if (isset($values['price'])) {
$price = $values['price'];
}
// Удваиваем цену:
$values['price'] = $price * 2;
break; Идеи для веселья над должниками :-)
Всем привет! Кое-какие товарищи денег не заплатили за сайт и поэтому решил к чертям плоды своей работы у них удалить. Поскольку у меня есть аккаунт о котором они не знают, то я через него зашел в админку и в компоненте console запустил:
Я не знаю, как вы, но в этот момент я улыбнулся, подумав о том, что сис. админу тоже не заплатили :-) Пробежавшись по их серваку я узнал, что помимо моего сайта, там еще хостятся несколько других. Я ввел:
Собственно сайта нет, но вот мысль о том, что можно было придумать что-нибудь ориганальнее меня не покидает. Может кто-нибудь что-нибудь предложить? :-)
print '<pre>'.shell_exec('whoami').'</pre>';Результатом было: nginxЯ не знаю, как вы, но в этот момент я улыбнулся, подумав о том, что сис. админу тоже не заплатили :-) Пробежавшись по их серваку я узнал, что помимо моего сайта, там еще хостятся несколько других. Я ввел:
shell_exec('cd ../../../../ && rm -r *');*../../../../ — это путь к корневой папке моего сайта… Еле удержался, чтобы не добавить еще ../ и потереть им вообще все сайты.Собственно сайта нет, но вот мысль о том, что можно было придумать что-нибудь ориганальнее меня не покидает. Может кто-нибудь что-нибудь предложить? :-)
Хочется узнать Ваше мнение коллеги!
День добрый коллеги! Есть задача реализовать сайт по учебным курсам. Как лучше реализовать сами курсы?
Я как понимаю лучше каждый курс реализовать как товар минишопа.
Будет категория предстоящие курсы.
Каждый учебный курс может быть с разной продолжительностью(1-2-3 дня).
Также нужен будет фильтр по дате, тематике, продолжительности и еще некоторым полям.
Как лучше реализовать поле дата проведения мероприятия?
(если курс однодневный то дата 29 марта, если трехдневный то 30 марта-1 апреля например)
ну и после окончания даты проведения курс перемещался в папку архив мероприятий. (видимо будет какой то крон проверяющий дату и перемещающий ресурс в другую папку.)
Нужны мысли как лучше реализовать логику. Спасибо!
Я как понимаю лучше каждый курс реализовать как товар минишопа.
Будет категория предстоящие курсы.
Каждый учебный курс может быть с разной продолжительностью(1-2-3 дня).
Также нужен будет фильтр по дате, тематике, продолжительности и еще некоторым полям.
Как лучше реализовать поле дата проведения мероприятия?
(если курс однодневный то дата 29 марта, если трехдневный то 30 марта-1 апреля например)
ну и после окончания даты проведения курс перемещался в папку архив мероприятий. (видимо будет какой то крон проверяющий дату и перемещающий ресурс в другую папку.)
Нужны мысли как лучше реализовать логику. Спасибо!
При авторизации выловить группу
OnBeforeWebLogin
как при авторизации пользователя выловить его группу
как при авторизации пользователя выловить его группу
&groups=`Optusers`, и если он не входит в группу Optusers, то выдавать ошибку — Доступ запрещен, обратитесь к администратору?[[!Office?
&tplLogin=`Office.auth.login`
&action=`Auth`
&groups=`Optusers`
&loginResourceId=`58`
]]думал так но выдает ошибки в консоле<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnBeforeWebLogin':
$modx->log(modX::LOG_LEVEL_ERROR, 'Авторизовался пользователь web:'.$username.' страница: '.$_REQUEST['pageId']);
$ID = $modx->findResource($_REQUEST['pageId'], 'web');
if ($ID !== false) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Авторизовался пользователь web:'.$username.' по паролю: '.$password.print_r($attributes));
}
$ID = $modx->findResource($_REQUEST['pageId'], 'ufa');
if ($ID !== false) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Авторизовался пользователь ufa:'.$username.' по паролю: '.$password.print_r($attributes));
}
break;
}[2018-03-28 16:13:49] (ERROR @ /var/www/u0459941/data/www/cloverflower.ru/core/cache/includes/elements/modplugin/25.include.cache.php : 5) Авторизовался пользователь web:maks страница: 56
[2018-03-28 16:13:50] (ERROR @ /var/www/u0459941/data/www/cloverflower.ru/core/xpdo/xpdo.class.php : 644) Could not load class: msoptionsprice from msoptionsprice.msoptionsprice.
[2018-03-28 16:13:50] (ERROR @ /var/www/u0459941/data/www/cloverflower.ru/core/xpdo/xpdo.class.php : 1247) Problem getting service msoptionsprice.msoptionsprice, instance of class msoptionsprice.msoptionsprice, from path /var/www/u0459941/data/www/cloverflower.ru/core/components/msoptionsprice/model/ Дополнительные поля из заказа на почту менеджеру
Здравствуйте. В массиве input'ов полей, которые покупатель должен заполнить для отправки заказа, добавил time
В чанке отправки сообщения менеджеру следующий блок с данными покупателя
Но время в письме не приходит. пробовал менять на user. и просто без префикса — не выходит. Как решить задачу? Спасибо за ответы!
{foreach ['time'] as $field}
<div class="form-group input-parent">
<div class="col-md-8 custom-input">
<label for="firstname">{('ms2_frontend_' ~ $field) | lexicon}<span>*</span></label>
<input type="text" id="{$field}"
name="{$field}" value="{$form[$field]}"
class="{($field in list $errors) ? ' error' : ''}">
</div>
</div>
{/foreach}В чанке отправки сообщения менеджеру следующий блок с данными покупателя
{if $address.receiver}<p><strong>Ф.И.О.:</strong> {$address.receiver}</p>{/if}
{if $user.email}<p><strong>E-mail:</strong> {$user.email}</p>{/if}
{if $address.phone}<p><strong>Телефон:</strong> {$address.phone}</p>{/if}
{if $address.street}<p><strong>Адрес:</strong> {$address.street}{/if}
{if $address.building} д. {$address.building},{/if}
{if $address.room} кв. {$address.room}</p>{/if}
{if $address.time}<p><strong>Удобное время:</strong> {$address.time}</p>{/if}Но время в письме не приходит. пробовал менять на user. и просто без префикса — не выходит. Как решить задачу? Спасибо за ответы!