Вопросы

Экранирование "-" в &where

Всем привет!

У меня такой вопрос
Есть вывод ресурсов
[[pdoResources?
	&parents=`[[++locations_plans]]`
        &tpl=`@INLINE <a href="[[+alias]]">[[+menutitle]]</a>`
        &tvPrefix=``
        &where=`{"city:=":"Санкт–Петербург","template:=":3}`
        &includeTVs=`city`
]]
так вот в &where
«city:=»:«Санкт–Петербург»

В Санкт-Петербург приходится использовать "–" (среднее тире), если там ставить "-" (минус) то ничего не работает.

Как научить where корректно обрабатывать знак минус?
Заэкранировать его как-то или что?
Евгений
06 августа 2020, 02:44
modx.pro
1 047
0

Невидимое окно с ошибкой

Иногда некоторые поля админки перестают реагировать на клики. Потыкав мышью можно «нащупать» вот такое окно, оно прозрачное, но при перемещении его можно увидеть. Встречал его на разных сайтах, кто-нибудь знает что это такое и как от него избавиться?
Евгений Ц.
06 августа 2020, 01:14
modx.pro
1 022
+1

«Не показывать в меню» убрать галочку массово для отображения товаров в меню

Доброго времени суток, умники и умницы, подскажите пожалуйста, как мне отключить галочку «Не показывать в меню» что бы отображалось в меню, я так добавила 200 товаров но карта сайта их не видит по этой причине, что бы мне в ручную не заходить на каждый товар и сэкономить время, как мне сделать это массово, снять галочку со всех товаров для отображения их в меню? Благодарю Вас за понимание и помощь)
Валерия
05 августа 2020, 11:05
modx.pro
1 034
0

Сортировка связей в Minishop2

Добрый день!

Никто не сталкивался с необходимостью сортировки связей в админке с выводом на фронте именно в такой последовательности?
Есть главный товар, к нему подцепляются другие.
На фронте выводятся по id через msProducts.

Кто-то такое реализовывал уже, например некий индекс сортировки?

Заранее благодарен.
Вадим Раевский
04 августа 2020, 21:05
modx.pro
1 494
0

Почему может не работать постраничная навигация pdoPage при использовании боковых табов в MODX

Сайт
sudexperts.ru/about/questions
слева 3 вкладка — 3 из них «Общие вопросы» там постраничная навигация (она была и на первых двух — там просто мало статей). И она упорно не работает — когда нажимаешь на 2 страницу — открывает вторую вкладку и левое меню зависает и навигация(pagination) тоже зависает и больше не работает.
Шаблон страницы выглядит так
<div class="quest-body" id="pdopage">
    <div class="question-title">
        <h1>[[*pagetitle]]</h1>
        <a href="#question-popup" class="nopreload popup-btn question-btn">Отправить запрос</a>
    </div>
    <div class="question-content">
        [[!$questionMenu]]

        <div class="rows question-rows" id="catalog-question">
            [[!questMenu]]
        </div>
    </div>
</div>
а сниппет questMenu где вызывается постраничная навигация
<?php
$out = '';
$query = $modx->newQuery('modResource', array('parent'=>64));
$query->sortby('pagetitle','ASC');
$resources = $modx->getCollection('modResource', $query);
foreach($resources as $resource) {
    if ($resource->published == true && $resource->deleted != true && $resource->hidemenu != true) {
        $outputs = '<div class="catalog  category-'.$resource->id.'">';
        $outputs .=  $modx->runSnippet('pdoPage', array(
            'parents'	=> $resource->id,
            'tpl' => 'QuestItem',
            'depth'=> '1',
            'limit'=> '10',
            'includeContent' => '1',
            'ajaxMode'=>'default',
            'tplPageWrapper' => '@INLINE <div class="pagination"><ul>[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div>',
            'tplPageFirst' => '@INLINE <li class="control prev first"><a class="nopreload" href="[[+href]]">Первая</a></li>',
            'tplPageLast' => '@INLINE <li class="control next last"><a  class="nopreload" href="[[+href]]">Последняя</a></li>',
            'tplPage' => '@INLINE <li><a  class="nopreload" href="[[+href]]">[[+pageNo]]</a></li>',
            'tplPageActive' => '@INLINE <li class="active"><a  class="nopreload" href="[[+href]]">{{+pageNo]]</a></li>',
            'tplPagePrev' =>'@INLINE <li class="control prev"><a class="nopreload" href="[[+href]]">[[IncSvg? &svg=`arrow.svg`]]</a></li>',
            'tplPageNext' => '@INLINE <li class="control next"><a  class="nopreload" href="[[+href]]">[[IncSvg? &svg=`arrow.svg`]]</a></li>',
            'tplPageNextEmpty' => '@INLINE <li class="control disable next"></li>',
            'tplPagePrevEmpty' => '@INLINE <li class="control disable prev"></li>',
            'tplPageFirstEmpty' => '@INLINE <li class="first disabled"></li>',
            //'showLog' => 1,
        ));
        $outputs .= $modx->getPlaceholder('page.nav');
        $outputs .= '</div>';
        echo $outputs;
        // echo $resource->id .'
';
    }
}
Помогите пожалуйста если кто знает — я уже всю голову сломал.
Причём есть другие страницы с пагинацией но без такого левого меню в виде табов — там всё ок.
Олег
04 августа 2020, 17:29
modx.pro
844
0

Как отсортировать опцию и взять только 1 значение из нее?

Всем привет. Вроде бы не сложное задание, но решить не получается, может кто направит?
Есть опция Упаковка. Значения в этой опции могут быть разными ( 3 кг, 0,5 кг, 1,8 кг)
Нужно вывести только максимальную опцию (3 кг)
Как это преобразовать я не совсем понимаю, т.к. опции не отсортируются стандартными sortby и sortdir.

UPD: либо как второй вариант использую
[[msOptionsPrice.modification?
	&limit=`1`
	&product=`[[+id]]`
	&tpl=`tpl.msOptionsPrice.modification_YML`
	&sortby=`{"CAST(`msopModification`.`price` AS DECIMAL(10,2))": "DESC"}`
]]
Но тут проблема что выводятся все опции модификаций. Как отобрать нужную мне — не понятно
Alex
04 августа 2020, 13:22
modx.pro
738
0

Опросник со множеством вопросов и подсчетом голосов

Здравствуйте! пожалуйста, подскажите, как реализовать на сайте систему опросов с несколькими вопросами, и страницей результатов, и заполнением из админки? ни один из компонентов не подходит (Polls, xPoller, xPoller2, voteForms), все они реализуют вывод только 1 вопроса. что делать если не хватает знаний чтобы самостоятельно реализовать создание динамических форм из админки, с сохранением и подсчетом количества голосов, и возможностью голосовать без регистрации, но 1 раз для каждого ip?
может у кого-то есть опыт реализации такой задачи через migx? прошу подсказки. версия MODX самая последняя.
Martina
04 августа 2020, 07:41
modx.pro
540
0

stop words и socialtools

всем привет

буду рад если поможете с данной реализацией

есть пример

Select Data With PDO (+ Prepared Statements)

Example (PDO)

<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>";

class TableRows extends RecursiveIteratorIterator {
    function __construct($it) {
        parent::__construct($it, self::LEAVES_ONLY);
    }

    function current() {
        return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
    }

    function beginChildren() {
        echo "<tr>";
    }

    function endChildren() {
        echo "</tr>" . "\n";
    }
}

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
    $stmt->execute();

    // set the resulting array to associative
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
        echo $v;
    }
}
catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>

в socialtools есть таблицы modx_soc_dialogReceive и modx_soc_dialogSend

допустим в большом интернет магазине с нормальным количеством посетителей зарегистрированных в личном кабинете
и используеться socialtools с групповыми покупками или возможностью просто между собой общаться

в modx_soc_dialogReceive и modx_soc_dialogSend

есть table fields

Name

subject
message

sender

приведите пожалуйста простой пример с поиском по subject и message например в stop words «у нас можно купить сайт такойто link»
чтобы при запуске ресурса например resource stopwords искал по словам и если количество определённых слов больше 5 (или заданного количества определённого) «у нас» «сайт» и тд
осуществлялся временный blocked user данного пользователя и создавался report user в каком нибудь parent user reports

например parent 72
reported spam users

создаёться ресурс с pagetitile данного юзера перед его temporary blocked на уровне modx revo user (ну тоесть как сам в manager panel выбрал Blocked user) только както программно

я думаю всем интересна будет такая реализация в различных вариация

с помощью pdotools или каким либо другим образом

ну да и пока незабыл

был бы рад за совет как вывести определённый field из родных полей user или добавленных и уже как родных ))))

в Users во frontend (тоесть где сразу all users отображаються а потом уже detailed смотриться в manager)

всем спасибо за внимание
Кирилл
03 августа 2020, 22:33
modx.pro
730
0

Сортировка по цене, 0 в конце

Возможно ли как-то задать сортировку в msProducts так, чтобы товары с 0 были в конце списка?
Владимир
03 августа 2020, 19:51
modx.pro
1 240
0

modx revo mSearch2 синтаксис условий where

[[!pdoPage?
    &element=`mSearch2`
    &parents = `14`
    &templates = `4`
    &minQuery = `1`
    &where = `[[!additionalParammSearch]]`
    &includeTVs = `image,price,old_price,new_good,sku,model,brand,quantity`
    &tpl = `SimpleSearchResult`
    &tplWrapper = `@INLINE  <div class="sisea-results-list box inline">
                                [[+output]]
                            </div>`
    &limit = `[[!#GET.count-search:default=`12`]]`
]]
Подскажите как правильно составить условия фильтрации?

<?php
$items_for_json= [];
if( isset($_GET['ff_price']) && is_array($_GET['ff_price']) ){
    $items_for_json[] = '"price:":'.(int)$_GET['ff_price']['min'];
}
$ret_param = "{" . implode(',', $items_for_json) . "}";
return $ret_param;
при таком запросе фильтрует по цене, а как добавить несколько параметров? больше или равно? так `{«price:>=»:1,«price:<=»:100}` не работает
Евгений
03 августа 2020, 19:48
modx.pro
954
0