Сергей Лим

Сергей Лим

С нами с 24 мая 2015; Место в рейтинге пользователей: #50
Сергей Лим
15 апреля 2024, 11:30
0
Код выше уже устаревший и не сработает на новых версиях modx. Ниже рабочий код для 2.8.4

<?php
/**
 * Created by PhpStorm.
 * User: admin
 * Date: 25.06.2019
 * Time: 14:19
 */


require_once '/ТУТ ПУТЬ К ФАЙЛУ ПИШЕМ/public_html/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');

$modx->getService('error', 'error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_FATAL);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');

$msg = "";

$table_prefix = $modx->config['table_prefix'];

//Ищем двойников
$find_query = $modx->query("SELECT group_concat(`id`) ids, count(id) c FROM `" . $table_prefix . "site_content` GROUP by concat(uri) HAVING c > 1");

$dubles = $find_query->fetchAll(PDO::FETCH_ASSOC);
//Если нашли
if (count($dubles)) {
    foreach ($dubles as $item) {
        //Разбивем ID
        $ids = explode(",", $item['ids']);
        //Сортируем - старые вверх
        sort($ids, SORT_NUMERIC);

        $count = 0;

        foreach ($ids as $doc_id) {
            $count++;
            //ПРопускаем оригинал
            if ($count > 1) {

                //Обновляем ресурс
                $originalRes = $modx->getObject('modResource', $doc_id);
                $generated = $originalRes->cleanAlias($originalRes->get('pagetitle')) . "-" . $count;
                $originalRes->set('alias', $generated);
                $originalRes->save();
                //В лог
                $msg .= $originalRes->get('id') . " | " . $originalRes->get('pagetitle') . " - обновлен.\n";
            }

        }
        //Сброрс кеша
        $modx->cacheManager->refresh();
    }

} else {
    $msg .= "Дублей нет\n";
}

echo "<pre>" . $msg;
Сергей Лим
08 апреля 2024, 18:08
0
Столкнулся с такой же ошибкой. Не известна причина?
Сергей Лим
18 февраля 2024, 17:07
+1
В БД
Сергей Лим
29 сентября 2023, 19:57
0
Все прогуглил, ничего не помогало из этого:
1) Зайти из под инкогнито или с другого браузера
2) Чистка кэшей, куки
3) Чистка modx_session

В общем накатил версию 2.8.4 сделал обновление через setup и пустило
Сергей Лим
18 мая 2023, 17:01
0
Подскажите пожалуйста. Меняю производителей через COMBO, скрипт вроде отрабатывает, но по факту не меняет, Куда копать?
Сергей Лим
04 мая 2023, 05:15
0
Не удалось загрузить и создать пакет с подписью: fetchit-
Сергей Лим
03 ноября 2022, 21:47
0
Через другой селектор сделал и получилось. С меня лайки, большое спасибо
А как вы изменили их? Через aliases не помогло
Сергей Лим
03 ноября 2022, 21:05
0
<script>
$(document).ready(function() {
$("#mse2_tv|withinstallation_0").prop("checked",true);
$("#mse2_tv|withinstallation_0").trigger("change");

};
</script>
Не срабатывает почему то
Сергей Лим
03 ноября 2022, 20:30
0
Вот так я пытался сделать, но страница тоже начинает бесконечно перезагружаться от того, что меняется url
Загрузка страницы->смена url->загрузка страницы и тд
Сергей Лим
03 ноября 2022, 20:17
0
Не очень понял, мне надо, чтобы не по одной ссылке открывалась страница с нужными параметрами, а в принципе. И у каждой страницы где есть фильтр, по умолчанию выбираться будут разные фильтры
Сергей Лим
03 ноября 2022, 20:04
0
Я пробовал в замороженном url добавить параметры, но страница при открытии уходит в бесконечный редирект
Сергей Лим
29 августа 2022, 16:01
1
0
Буду признателен, если лайк поставишь к комменту)
Сергей Лим
29 августа 2022, 15:37
2
+1
Идем в assets/components/minishop2/js/mgr/settings/vendor/grid.js
после строки
{header: _('ms2_email'), dataIndex: 'email', width: 100, sortable: true},
добавляем
{header: _('ms2_description'), dataIndex: 'description', width: 75, sortable: true},
далее нужно обновить кэш браузера
Сергей Лим
24 августа 2022, 21:33
0
Так я же писал, чтобы ты попробовал некэшируемым сниппет вызвать
Сергей Лим
24 августа 2022, 20:16
+1
[[!pdoPage?
&parents=`2`
&includeTVs=`page_image`
&tpl=`news_list`
]]
Вот так работает?
Сергей Лим
24 августа 2022, 13:16
0
Попробуй сделать вызов некэшируемым [[!pdoPage]]
Сергей Лим
21 августа 2022, 17:53
+2
Все верно, скрипты не видят jquery, потому что он подключается уже после того, как срабатывают скрипты miniShop'a. Подключи jquery в и все заработает. Ну и про плюсик к этому комменту не забудь)