Вопросы
xLike не записывает в TV поле
Привет, тут трабл. Не сохраняются лайки, подскажи в чём дело пожалуйста. Все что тут, то и делал, больше нечего. Поле называет rating, всё выводится через pdoResources и $id это ID каждого выведенного ресурса. Буду благодарен! Крутое дополнение :)
Вызов:
{'!xLike' | snippet: [
'parent' => $id,
'class' => 'modResource',
'mode' => 'db',
'list' => 'default',
'likes' => $_modx->resource['likes'],
'dislikes' => $_modx->resource['dislikes'],
'rating' => $_modx->resource['rating'],
]}
tpl.xLike:
{*@formatter:off*}
<{$can? 'a': 'span'}
class=«xlike__link {$value > 0? 'xlike__link_active': ''} [ {$can? 'js-xlike-button': ''} ]»
{$can? 'data-xlike-value=«1» href=«javascript:undefined;»': ''}
>
<svg version=«1.1» id=«Слой_1» xmlns=«www.w3.org/2000/svg» xmlns:xlink=«www.w3.org/1999/xlink» x=«0px» y=«0px»
width=«31px» height=«27px» viewBox=«0 0 31 27» enable-background=«new 0 0 31 27» xml:space=«preserve»>
/>
{$likes | number_format: 0: '': ' '}
</{$can? 'a': 'span'}>
Добавление в TV поле (Плагин: add-rating):
<?php
switch ($modx->event->name) {
case «xLikeOnVote»:
if ($class == 'modResource' && $list == 'default') {
if ($resource = $modx->getObject($class, array('id' => $parent))) {
$resource->setTVValue('rating', $rating);
$resource->save();
}
}
break;
}
Вызов:
{'!xLike' | snippet: [
'parent' => $id,
'class' => 'modResource',
'mode' => 'db',
'list' => 'default',
'likes' => $_modx->resource['likes'],
'dislikes' => $_modx->resource['dislikes'],
'rating' => $_modx->resource['rating'],
]}
tpl.xLike:
{*@formatter:off*}
<{$can? 'a': 'span'}
class=«xlike__link {$value > 0? 'xlike__link_active': ''} [ {$can? 'js-xlike-button': ''} ]»
{$can? 'data-xlike-value=«1» href=«javascript:undefined;»': ''}
>
<svg version=«1.1» id=«Слой_1» xmlns=«www.w3.org/2000/svg» xmlns:xlink=«www.w3.org/1999/xlink» x=«0px» y=«0px»
width=«31px» height=«27px» viewBox=«0 0 31 27» enable-background=«new 0 0 31 27» xml:space=«preserve»>
/>
{$likes | number_format: 0: '': ' '}
</{$can? 'a': 'span'}>
Добавление в TV поле (Плагин: add-rating):
<?php
switch ($modx->event->name) {
case «xLikeOnVote»:
if ($class == 'modResource' && $list == 'default') {
if ($resource = $modx->getObject($class, array('id' => $parent))) {
$resource->setTVValue('rating', $rating);
$resource->save();
}
}
break;
}
Как заменить "." на "-" в ЧПУ? [РЕШЕНО]
Как заменить "." на "-" в ЧПУ?
friendly_alias_restrict_chars_pattern не спасает, делает из site.com/fun.page -> site.com/funpage
а надо сделать так site.com/fun.page -> site.com/fun-page
РЕШЕНИЕ:
https://modx.pro/help/21231#comment-125370
friendly_alias_restrict_chars_pattern не спасает, делает из site.com/fun.page -> site.com/funpage
а надо сделать так site.com/fun.page -> site.com/fun-page
РЕШЕНИЕ:
https://modx.pro/help/21231#comment-125370
mSearch2, mSync и 40 000 товаров
Здравствуйте!
Есть похожие тикеты на эту тему, но они довольно старые, и касаются в основном минишопа. Поэтому спрошу.
Клиент желает заказать ИМ с 40 000 товаров, с фильтрами и синхронизацией с 1С.
Вопрос — не будет ли тормозить mFilter2? Какое количество товаров в категории допустимо для быстрой работы компонента? И не будет ли проблем с синхронизацией с 1С?
Есть похожие тикеты на эту тему, но они довольно старые, и касаются в основном минишопа. Поэтому спрошу.
Клиент желает заказать ИМ с 40 000 товаров, с фильтрами и синхронизацией с 1С.
Вопрос — не будет ли тормозить mFilter2? Какое количество товаров в категории допустимо для быстрой работы компонента? И не будет ли проблем с синхронизацией с 1С?
pdoResources сортировка по своему TV полю
Ребят, всем привет. Подскажите как сделать сортировку по своему TV полю. Допустим у меня есть родитель «Категория» и у него есть подкатегории. У каждой подкатегории есть TV поле top со значением. В значении будут только цифры. Пример вызова:
Подскажите вариант конструкции на fenom
Добрый день, подскажите вариант как сделать такую конструкцию на fenom. Сам сниппет вызвать это не проблема, но тут конструкция в ссылке, поэтому не получается)
[[~[[BabelTranslation? &contextKey=`web`]]? &scheme=`https`]] Ошибка в логах после обновления pdoTools
Обновил до последней версии (2.12.7-pl) и теперь вылазит ошибка
(ERROR @ /home/u31605/public_html/core/components/pdotools/model/pdotools/pdotools.class.php: 446) Recoverable error: Object of class msProductData_mysql could not be converted to string
Установлена MODX Revolution 2.8.1-pl
(ERROR @ /home/u31605/public_html/core/components/pdotools/model/pdotools/pdotools.class.php: 446) Recoverable error: Object of class msProductData_mysql could not be converted to string
Установлена MODX Revolution 2.8.1-pl
frontendManager не появляется у контент менеджера, как настроить права?
Нигде в интернете не нашел как сделать, чтобы панель появлялась у пользователя с правами контент менеджера, а не администратора. Это реально сделать? Если да, то как?
Расширение класса mspreActionsProduct в mspre
Доброй пятницы, уважаемые разработчики, Андрей в их числе.
Подскажите как расширить класс mspreActionsProduct в mspre. Хочу добавить дополнительные возможности.
Не могу понять, на какое событие нужно повесить плагин.
Подскажите как расширить класс mspreActionsProduct в mspre. Хочу добавить дополнительные возможности.
Не могу понять, на какое событие нужно повесить плагин.
кастомное поле с типом file в дополнении Office
подскажите пожалуйста, как добавить поле с типом «file» в дополнении Office, что бы пользователь мог прикреплять свои документы в личном кабинете.
Искал здесь modx.pro/howto/8889
но там на примерах вроде как добавляют только текстовые поля и чекбоксы
Искал здесь modx.pro/howto/8889
но там на примерах вроде как добавляют только текстовые поля и чекбоксы
Проблема с IF в SELECT при xpdo запросе.Через pdoTools
На некотрых запросах использую конструкцию вида:
UPD 12.12.2020
Выяснилось, что эта ошибка возникает от pdoTools.
'select'=>[
'MaterialDet'=>'IF(SUM(MaterialDet.status_id)/COUNT(MaterialDet.status_id)<2,1,2) as material_status1',
],MODX делает экранирование 1:SELECT IF(SUM(MaterialDet.status_id)/ COUNT(MaterialDet.status_id)<2, `1`, 2) AS material_status1Чудом нашел код в котором это безобразие происходит :-). В файле /core/xpdo/om/mysql/xpdoquery.class.php в строке 57 проверка на экранирование:$escape = !preg_match('/\bAS\b/i', $column) && !preg_match('/\./', $column) && !preg_match('/\(/', $column);Я нашел выход и добавил проверку на цифры и строку:$escape = !preg_match('/\bAS\b/i', $column) && !preg_match('/\./', $column) && !preg_match('/\(/', $column) && !preg_match('/^\d+[\.,]?\d*$/', trim($column)) && !preg_match('/^\'[^ \']*\'$/', trim($column));Может кто-нибудь знает лучшее решение? https://github.com/modxcms/revolution/issues/15347UPD 12.12.2020
Выяснилось, что эта ошибка возникает от pdoTools.