Всего 125 657 комментариев

Дмитрий
08 февраля 2021, 17:07
0
Добрый день! Есть магазин рабочий на minishop2, стоит задача синхронизации заказов с 1с, хотел бы уточнить перед покупкой плагина, возможно ли настроить синхронизацию только заказов? что бы заказы с сайта улетали в 1с
Артур Шевченко
08 февраля 2021, 16:52
-1
Поэтому лучше написать сниппет, который будет оправлять данные для перевода по api, и сохранять полученный перевод. А запускать его можно через консоль или по крону.
Наумов Алексей
08 февраля 2021, 16:49
+2
Я сохранял свой кеш в отдельную папочку (назвал ее для примера my_cache), вот выдержки кода из проекта… (у меня некий класс, в нем есть такие методы и переменные).
Насколько помню, проблемы с очисткой при сохранении ресурса или чанка не было.

/** @var  string $cachePartition Раздел для кеша */
    protected $cachePartition = 'my_cache';
/** @var  integer $cacheTime Время кеша, в секундах, например 86400 (сутки), 3600 (час) */
    protected $cacheTime = 43200;
/**
     * Получает данные запроса из кеша
     * @param $cacheKey string Ключ кеша
     * @return mixed Данные запроса или false
     */
    protected function getDataFromCache($cacheKey) {
        $options = array(
            xPDO::OPT_CACHE_KEY => $this->cachePartition
        );
        return $this->modx->cacheManager->get($cacheKey, $options);
    }

    /**
     * Помещает данные в кеш
     * @param $cacheKey string Ключ кеша
     * @param mixed $data Данные, который нужно закешировать
     * @return bool Результат операции
     */
    protected function addDataToCache($cacheKey, $data) {
        $options = array(
            xPDO::OPT_CACHE_KEY => $this->cachePartition
        );
        return $this->modx->cacheManager->add($cacheKey, $data, $this->cacheTime, $options);
    }
Но нужен плагин для очистки нашего кеша:
<?php

switch ($modx->event->name) {
    case 'OnSiteRefresh':
        if ($modx->cacheManager->refresh(array('my_cache' => array()))) {
            $modx->log(modX::LOG_LEVEL_INFO, $modx->lexicon('refresh_default') . ': MyCache');
        }
        break;
}
Артур Шевченко
08 февраля 2021, 15:53
-1
Я с этим компонентом не работал, но вот тут написано, что есть события для плагинов, скорее всего вам нужно это xParserOnBeforeTaskActions, но это не точно и вот в нём надо вытащить данные для перевода, передать их по api в переводчик, получить перевод и сохранить уже переведенный текст. НО мне кажется это будет слишком долго. Поэтому лучше написать сниппет, который будет оправлять данные для перевода по api, и сохранять полученный перевод. А запускать его можно через консоль или по крону.
Сергей
08 февраля 2021, 15:50
0
Подскажите пожалуйста как интегрировать правильно в mFilter2, буду признателен за готовый пример. В целом с записыванием в словарь все получилось, но не хватает опыта внедрить в mFilter2. Фактически надо как-то добавить в &filters
Дмитрий Беляков
08 февраля 2021, 15:33
0
Как это реализуемо? вкратце процесс Артур, можешь описать плз.
Артур Шевченко
08 февраля 2021, 15:24
-1
Всё просто, берешь api для перевода, при парсинге отправляешь контент на перевод, потом сохраняешь. А готовых решений нет.
Виноградов Тимур
08 февраля 2021, 15:13
0
Можно использовать альтернативные галереи — UserFiles, ms2gallery, MoreGallery.
Как вариант да, правда они все платные.

Gallery отличная бесплатная галерея, если найдется все-таки решение данной проблемы, напишите кто-нибудь пожалуйста.
Спасибо.
Іван Клімчук
08 февраля 2021, 12:53
+1
Такое делать на коленке — это отдельный сервис и за нормальные деньги. Я тут недавно в FB прочитал пару историй про клиентов и заказчиков на Upwork и какие там порой разборки, что становится понятно, за что они берут такие конские комиссии. На одни суды, как посредник, задолбаешься время тратить, не считая зарплату юристам, которые будут в случае споров проверять документы (а в русском фрилансе какие нафиг документы?)
Алексей Соин
08 февраля 2021, 12:21
+1
не, удалять точно не надо. Сам по первой встречался с такой ситуацией, что проблема таже, что и у автора вопроса, ответа в вопросе нет, пишешь типо «у меня такой же случай, удалось в итоге решить» и иногда автор отвечал, как в итоге поборол бяку)
Кирилл
08 февраля 2021, 12:02
0
спасибо за совет

суперовое дополнение очень, но на modx revo 2.8.1 глючит и нетолько на данной версии
у меня проблема постоянная была что одно поле создаётся а потом всё падает, я и вручну с таблицы всё чистил вообще ничего непомогает.
Если данное дополнение ещё когда либо обновиться до стабильной версии было бы отлично.
Наумов Алексей
08 февраля 2021, 09:42
0
Добрый день.
В плагине используется 1 поле с именем photo
$conf_upload_file_name = 'photo';
у вас несколько должно быть, и код придется переписать соответственно… проверяйте, что я посоветовать
Евгений Webinmd
07 февраля 2021, 19:23
+2
это так делают любители пихать шаблон и прочий html в поле content. Крутая ж идея
Dementor218
07 февраля 2021, 18:21
0
Здравствуйте, Алексей! Создал 4 доп поля по аналогии с примером (имена разные, в базе под них тоже создал поля и прочее). Но при отправке формы во все поля записывается один файл. Не хватило мне знаний при доработке плагина, и форма отправляет не корректно. В админке же если заполнять, то все нормально выводится на сайт. не знаю что делать. Посоветуете что-нибудь?
Александр Мельник
07 февраля 2021, 17:21
+1
Не совсем понимаю, зачем ТВ поля должны содержаться в content? Контент- менеджер заполняет содержимое страницы и вставляет в него вызов fenom {$_modx->resource.image}? Это странно.

Не буду утверждать, что я точно знаю как это работает, но знаю, что парсер на основе fenom и родной парсер modx по разному проходятся по шаблону. Попробуйте тоже самое переписать на стандартном синтаксисе [[!proResources]] возможно это поможет.
Никита
07 февраля 2021, 16:49
0
Если я в контенте ресурса буду вызывать просто {$image}, то на странице самого ресурса же оно не будет выводиться.

Опишу немного подробнее.
Я делаю турбо-страницы для яндекса. Соответственно, вызываю контент некоторых страниц (переменная $id). Вызов pdoResources у меня находится на самом ресурсе turbo.xml
Естественно, в контенте некоторых страниц имеется вывод полей и доп. полей ресурса, без этого же никак ($_modx->resource.поле).
Вопрос был больше не в правильности вызова, а в том, как сделать так, чтобы парсер сначала парсил вызываемый контент, обработав запросы к полям вызываемых ресурсов, а уже потом отдавал бы мне на ресурс, где вызывается сниппет.