vectorserver

vectorserver

С нами с 12 декабря 2018; Место в рейтинге пользователей: #45

modxYMLprice - генератор прайса Yml Yandex (UP)

Компонент modxYMLprice
modxymlprice-2.2.128-pl
Git: github.com/vectorserver/modxYMLprice
Demo: golodnaya-panda.ru/modxymlprice.xml

PS: компонент сыроват, приму ваши предложения)

Данный компонет предназначен дла генерации XML прайса в формате Yandex YML (рис. 1)

vectorserver
13 июля 2022, 14:01
modx.pro
407
+5

pdoResources группировка по TV

Недавно столкнулся с задачкой.
Есть ресурсы списком, но категория указывается в TV (tvName), на страницы нужно вывести (список категорий), хотел уже написать сниппет с группировкой кастомный, полез pdoResources и посмотрел как там прописываются алиасы в итоге увидел что к TV прописывается алиас TV.

Вот мое решение, может кому пригодится:
TV + tvName +.value

[[!pdoResources?
 &parents=`2773`
 &tpl=`media_item`
 &prepareTVs=`1`
 &includeTVs=`tvName`
 &groupby=`TVtvName.value`
]]
На выводе получается (у меня) 4 категории (скрин)


vectorserver
30 июня 2022, 09:34
modx.pro
2
300
+1

Remove Duplicates MODX

Может кому пригодится.)
Компонент ищет дубликаты ресурсов, в разных контекстах!
PS^ версия сыровата, JS накидал на коленке (эффекты и тп пока отсутствуют).

Есть два варианта обработки ресурсов:
  • Перемещение в корзину
  • Создание нового алиаса с прфиксом ID ресурса.

Скриншоты:

vectorserver
05 июня 2022, 23:56
modx.pro
4
470
+5

ResizeOnUploadPhpthumbon_modx

Загрузка изображений и их обрезка в менеджере файлов.
Нужно было решение (оптимизация загрузки больших изображений) пошел гулить нашел решение у bezumkin-а там плагин реализован через phpThumbof но этот сниппет не понимает кириллицу или другие знаки в именах файла (в коде сниппета не стал копаться) и решил использовать phpThumbon и переписал код.
С помощью этого плагина у вас не будет конфликтов с контент менеджерами, которые заливают фото на сайт весом по 5мб))

Плагин зависит от сниппета phpThumbon
vectorserver
08 апреля 2020, 23:57
modx.pro
5
973
+10

modx_bs_pixel

Может кому пригодится, делал для себя.
Пиксельная разметка Bootstrap 3|4, идею позаимствовал у расширения для хрома не помню название)))

Плагин предназначен в первую очередь для верстальщиков работающих с Bootstrap v3,4

Показ колонок в и отступов между ними (скрины).

Плагин реагирует на get request site.ru/?bs=1
vectorserver
06 апреля 2020, 15:48
modx.pro
762
+5

Tickets 1.11.2-pl - Fatal error: Allowed memory size

Tickets 1.11.2-pl
MODX Current Version: 2.7.2-pl

Установил Tickets 1.11.2-pl, при создании раздела и выборе Тип ресурса (Раздел с Тикетами), хостинг просто валится именно при вызове class_key = TicketsSection

[06-Dec-2019 14:39:44 Asia/Yekaterinburg] PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted (tried to allocate 20480 bytes) in \domains\localhost\modx\core\xpdo\om\xpdoobject.class.php on line 2072
[06-Dec-2019 14:39:44 Asia/Yekaterinburg] PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted (tried to allocate 20480 bytes) in \domains\localhost\modx\core\xpdo\om\xpdoquery.class.php on line 127
[06-Dec-2019 14:39:44 Asia/Yekaterinburg] PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted (tried to allocate 65536 bytes) in \domains\localhost\modx\core\xpdo\xpdo.class.php on line 2081


Вопрос, куда копать?
Система пустая ресурсов нет
vectorserver
06 декабря 2019, 10:55
modx.pro
485
0

Обновление дубликатов страниц (duplicate_updater_modx)

Может кому пригодится, написал скриптец для поиска дублей страниц и обновления последних путем добавление префикса +=1

Инструкция залить duplicate_updater_modx.php в корень сайта и запустить в браузере yousute.ru/duplicate_updater_modx.php
git: github.com/vectorserver/duplicate_updater_modx

Сам код:
<?php
/**
 * Created by PhpStorm.
 * User: admin
 * Date: 25.06.2019
 * Time: 14:19
 */


define('MODX_API_MODE', true);
require 'index.php';

$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;
vectorserver
25 июня 2019, 12:33
modx.pro
11
961
+7

Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "eval:

Недавно решил обновится до с 2.5.2 до 2.7.0 версии, PHP Version 5.4.45, обновилось все удачно, полез в админку и бац мне вылезло:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "eval:<li id="limenu-site" class="top"> <a hre..." on line 141 "});{/literal} ">Завершить все сеансы<span class="description">Завершить все сеансы работы пользователей и произвести принудительный выход из системы всех пользователей.</span>" - Unexpected " MODx.msg.confirm({ title: _('flush_sessions') ,text: _('flush_sessions_confirm') ,url: MODx.config.connector_url ,params: { action: 'security/flush' } ,listeners: { 'success': {fn:function() { location.href = './'; },scope:this} } });", expected one of: LITERALSTART , LITERALEND , LITERAL <-- thrown in .../core/model/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 141
Ну я пошел гуглить в чем проблема и наткнулся на эту тему, там проблему не решили, но в заголовке стоит «Решено».
vectorserver
23 января 2019, 09:39
modx.pro
1
3 026
0

Indexbot - Показ информации определенному боту

Думаю полезно будет для СЕОшников, которые постоянно хотят показывать информацию только избранным ботам.
Озадачил меня один сеошник и его товаришь А.
Нам нужно показывать этот PLACEHOLDER или TV только гугл боту, а другой TV яндекс боту
Собственно написал небольшой сниппет, может кому пригодится

Примеры вызова
[[*pagetitle:indexbot=`googlebot`]]

или
[[indexbot? &input=`Заголовок <b>[[*pagetitle]]</b> виден только для <b>googlebot</b>` &options=`googlebot` &debug=`1`]]

Название сниппета:indexbot
vectorserver
12 декабря 2018, 23:25
modx.pro
7
963
+4