04 февраля 2020, 18:34 Думаю такого нет. Задача сделать просто тупо экспорт не практичная :-). Просто так же файл с данными никому не нужен. Если делают экспорт, то подразумевается и импорт в 1с или в Яндекс маркет или на другой сайт. Наверно вам стоит определиться куда импорт нужен и от этого уже искать. Вопросы / Есть ли готовые решения для экспорта из Modx товаров и ресурсов ? 6 0
10 декабря 2019, 07:58 А блин еще надо добавить &elementClass=`modSnippet`. Я же сниппет у себя скопировал в MODX и elementClass в параметрах по умолчанию шел. Обновил getCacheSensitive Добавил if(empty($elementClass)) $elementClass = 'modSnippet'; Готовые решения / getCacheSensitive обработчик кеша на основе getCache от Jason Coward 6 0
10 декабря 2019, 07:06 С mFilter2 вот эти параметры должны быть так: &element=`mFilter2` &cacheKey=`mFilter2`В assets/components/msearch2/action.php есть такая строка: $config = @$_SESSION['mSearch2'][$_REQUEST['key']];То есть mFilter2 свой конфиг в сессию пишет. Чтоб getCacheSensitive мог mFilter2 кешировать надо будет в него добавить перехват сессии еще. А в текущей версии не будет работать. Могу его доработать под mFilter2, но платно :-). И мне надо будет доступы к сайту с mFilter2, чтоб тестировать как будет работать. Готовые решения / getCacheSensitive обработчик кеша на основе getCache от Jason Coward 6 0
08 декабря 2019, 20:50 Думаю подойдет. Если не используются &toPlaceholders или &toSeparatePlaceholders. В getCache только &toPlaceholder обрабатывается. Можно так же как скрипты перехватывать изменения $modx->placeholders, но пока не требовалось. Готовые решения / getCacheSensitive обработчик кеша на основе getCache от Jason Coward 6 0
20 ноября 2019, 18:41 Словил подарок от Ростелекома. Ищу в поиске «баннер в браузере r.analytic.host» и первая же ссылка https://forum.kasperskyclub.ru/index.php?showtopic=62477&p=928487 Я в шоке. Когда владелец сайта ставит рекламу — это понятно. А вот когда провайдер так внезначай свои баннеры пихает это что-то за гранью. Однозначно суд. Пошел искать адвоката :-). По факту нарушение прав пользователя. А де юре может сложно будет доказать :-(. Для разработчиков / Хитрый вирус, проверьте свои сайты 20 +1
20 ноября 2019, 14:19 Ну добавить published = 1 в запрос. Вопросы / Вывод даты создания последнего дочернего документа 28 0
20 ноября 2019, 14:15 И нафига мне эти методы? Мне getObject нужен. Чтоб проверки доступа, все обработанные поля были. И чтоб не писать простыню кода каждый раз когда какое-то значение из базы нужно. $pdo->getArray limit добавляет, но писать ['pagetitle'] раздражает. ->pagetitle короче. И создавать $pdo каждый раз надо. Ваш modHelpers object limit ставит. И код писать короче. Но ради 1 функции грузить кучу кода явно не стоит. Загрузки 516. Не слишком популярная библиотека. Код написанный другим человеком и так бывает сложно разобрать и, чтоб добавить еще не популярный синтаксис должна быть веская причина. Ну и с первого раза библиотека просто не понравилась. Так почему в getObject limit=1 не добавили? Кто-нибудь знает? вот добавить $criteria->limit(1) после этой строки github.com/modxcms/revolution/blob/932472d65793a305bd8c971f21032f24068258ad/core/xpdo/om/xpdoobject.class.php#L423 и этой github.com/modxcms/revolution/blob/932472d65793a305bd8c971f21032f24068258ad/core/model/modx/modaccessibleobject.class.php#L96 Вопросы / Вывод даты создания последнего дочернего документа 28 0
20 ноября 2019, 10:10 Мда… сюрприз однако. <?php if($res=$modx->getObject("modResource",array("parent"=>1))){ echo $res->pagetitle; }лог запросов mysql SELECT… FROM `modx_site_content` AS `modResource` WHERE `modResource`.`parent` = 1 То есть, getObject получает все, а потом грузит первую запись :-(. @Сергей Шлоков А зачем так сделано?? Память же все отстальное занимает. И как теперь жить-то :-(. И limit через $query = $modx->newQuery долго добавлять. Вопросы / Вывод даты создания последнего дочернего документа 28 0
20 ноября 2019, 04:44 1. Нет не знакомо. Это что такое? 2. Так контент и в tv и msProductData например. Все импортировать заколебешься. 3. Ну я против того чтобы стаскивать. У самого есть платные компоненты. 4. Хм… Абы какой контент не подойдет. Так что не уверен что найду. 4.1. Компонент, думаю, мне особо не нужен, но, вообще, оптимизацию сайта у меня спрашивают и понимать насколько с этим PageSpeed справляется вообще нужно. То есть, попадется задача на оптимизацию и мне придется, либо покупать кота в мешке на не малые деньги, либо тырить. Вообще не айс :-(. Вопросы / PageSpeed - Интеграция оптимизаций PageSpeed Insights для MODX Revolution 20 0
20 ноября 2019, 03:41 1 А что весь контент в базе что-ли? :-) картинки, ява-скрипты, компоненты 2 импорт базы сломает тестируемый компонент 3 А если заморачиватся, чтоб не сломало, то тогда уж проще стащить компонент с тестового сайта и спокойно протестить у себя. 4 Хотя рабочий контент и нужен для теста, но вообще-то не думаю, что владельцы сайта одобрят, чтоб их контент перетаскивался на какой-то левый сайт. Вопросы / PageSpeed - Интеграция оптимизаций PageSpeed Insights для MODX Revolution 20 0
19 ноября 2019, 23:47 Ну наверное взять и поставить, не?Ручками скопировать что-ли? Или вы хотите контент от балды напихать? Ну 1 контент разбросан по tv и шаблонам. То есть даже 1 страницу можно долго копировать. И 2 под контентом имел в виду контент всего сайта. Интересно как можно запихать рабочий сайт на тестовый, чтоб протестить компонент. Вопросы / PageSpeed - Интеграция оптимизаций PageSpeed Insights для MODX Revolution 20 0
19 ноября 2019, 23:07 Хм. не знаю. А как это сделать? Вопросы / PageSpeed - Интеграция оптимизаций PageSpeed Insights для MODX Revolution 20 +1
19 ноября 2019, 23:06 епрст. Ты снова запутал. Если 2 страница отдается Apache без MODX, то что делает страница со сниппетом differenceBetweenDatesInSeconds? Или у тебя 3 страницы? Готовые решения / Сброс и обновление кэша сниппета в определенное время 31 0
19 ноября 2019, 23:03 Таким образом сниппет «snippetName» с примера выше, просто выполняет чтение и возврат этого файла «echo file_get_contents($file);», что существенно ускоряет время загрузки страницы если я очистил кэш вручную или время кэша закончилось 1 а сниппет с echo file_get_contents($file);Выполняется не быстрей, чем !$snippet = $_modx->cacheManager->get('snippetName_cache');И у тебя в файле $file уже типо кеш. Зачем его кешировать еще раз на странице. Наверно, можно было 2 ресурс, который показывается, сделать статическим и прикрепить к нему $file. Готовые решения / Сброс и обновление кэша сниппета в определенное время 31 0
19 ноября 2019, 22:43 Может автор на свои сайты ставит и никто не купил :-). И то что 5 человек из всей аудитории модсторе регулярно читают и пишут на modx.pro, по моему, шансов мало. Вопросы / PageSpeed - Интеграция оптимизаций PageSpeed Insights для MODX Revolution 20 0
19 ноября 2019, 22:17 Ну, кроме запроса объекта целиком, больше ничего не вижу. А что такого есть-то? Вопросы / Вывод даты создания последнего дочернего документа 28 0
19 ноября 2019, 22:13 Мда… понимания что происходит 0. И getCollection и getObject по $criteria готовят запрос в mysql. Для такого критерия он будет примерно таким для getCollection и $getted_id=2: select * from modx_site_content where parent = 2 sort by createdon DESCА getObject просто добавит limit=1 select * from modx_site_content where parent = 2 sort by createdon DESC limit=1веть он все равно получить данные и будет их сортироватьДанные обрабатывает сортирует mysql сервер. Он это делает эффективнее, чем мы можем сделать в php. И в getObject они точно не сортируются. Так вот, отличие getCollection и getObject ДЛЯ ДАННОГО ПРИМЕРА то, что getCollection заберет все записи с базы и займет кучу памяти, а getObject только одну и памяти понадобиться гораздо меньше. И getCollection и getObject кроме запроса в mySQL делают, что-то еще, например проверяют есть ли доступ у юзера к объекту, но что конкректно я не разбирался и разбираться, в общем-то, не собираюсь :-). Только если что-то не так пойдет смотрю код функций. Важно только то, что getCollection и getObject выгружают данные с базы в виде xpdo объекта. Делать mySQL запросы напрямую не слишком удобно. Но если скрипт тупит или по памяти вылетает, то использую вместо getCollection getIterator или $modx->query($sql). матан и sql отсутствует! sql вам знать надо! учите. Вопросы / Вывод даты создания последнего дочернего документа 28 0
19 ноября 2019, 21:26 На сколько %% реально повышает скорость сайта и индекс PageSpeed? Эффективно ли это приложение, имеет ли смысл его купить? Как обычно автор о том как работает, что внутри его компонента происходит ничего не написал. На тестовом модхост тестить бессмыслено. Так как надо с каким-то рабочим контентом тестить. А платить 4950р, чтоб потестить не вариант. То есть, по итогу, это кот в мешке, что купишь не известно. Придумать бы, для подобный компонентов, какой-нибудь вариант покупки типа триала. Вопросы / PageSpeed - Интеграция оптимизаций PageSpeed Insights для MODX Revolution 20 0
19 ноября 2019, 20:31 1. Отключить 0 (Нет) из выборкиМожно параметры фильтра на mFilter2 передавать с этим фильтрами и без них. {if true} {set $filter = 'parent:grandparents,ms|new,ms|favorite'} {else} {set $filter = 'parent:grandparents'} {/if} {'!mFilter2' | snippet : [ 'filters'=>$filter]}2. Как сгругипировать несколько параметров и обернуть единой оберткой (присвоить единый заголовок оберткой) &toSeparatePlaceholders Работает так же как и &toPlaceholders, только в раздельные плейсхолдеры попадает еще и filters. Например, если вы укажете &toSeparatePlaceholders=`my.` и &filters=`tv|test,resource|pagetitle` то получите плейсхолдеры [[+my.results]], [[+my.total]], [[+my.tv|test]] и [[+my.resource|pagetitle]]. Выводим в плейсхолдеры и {if 'my.ms|new' placeholder || 'my.ms|favorite' placeholder} <div> <h3>You own title</h3> {'my.ms|new' placeholder} {'my.ms|favorite' placeholder} </div> {/if}Может конечно решение получше, но мне только такое пришло в голову. Вопросы / mFilter2 несколько полей в одной группе фильтров. 3 +2 1
19 ноября 2019, 19:56 А где компонент? По последней ссылке Error 521 Вопросы / PageSpeed - Интеграция оптимизаций PageSpeed Insights для MODX Revolution 20 0
gtsAPI 1.1.7 — таблицы на TanStack, инлайн-редактирование как в Excel Prime Vue datatable тупит на 200+ строк и в виртуальном скролинге высота полей фиксирована. Вот нам в итоге и не подошло. Директор сказал расчет должен сразу показываться без пагин...
mxApi — быстрый внешний API для MODX Revolution • зафиксировать публичный контракт EndpointInterface / метаданных по semver, чтобы наш провайдер не ломался на обновлениях;Фактически это уже так, beta стоит просто на всякий случа...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
А блин еще надо добавить &elementClass=`modSnippet`.Я же сниппет у себя скопировал в MODX и elementClass в параметрах по умолчанию шел.Обновил getCacheSensitive
Добавил if(empty($elementClass)) $elementClass = 'modSnippet';
В assets/components/msearch2/action.php есть такая строка:
То есть mFilter2 свой конфиг в сессию пишет. Чтоб getCacheSensitive мог mFilter2 кешировать надо будет в него добавить перехват сессии еще.
А в текущей версии не будет работать. Могу его доработать под mFilter2, но платно :-). И мне надо будет доступы к сайту с mFilter2, чтоб тестировать как будет работать.
Ищу в поиске «баннер в браузере r.analytic.host»
и первая же ссылка https://forum.kasperskyclub.ru/index.php?showtopic=62477&p=928487
Я в шоке. Когда владелец сайта ставит рекламу — это понятно. А вот когда провайдер так внезначай свои баннеры пихает это что-то за гранью. Однозначно суд. Пошел искать адвоката :-). По факту нарушение прав пользователя. А де юре может сложно будет доказать :-(.
Мне getObject нужен. Чтоб проверки доступа, все обработанные поля были. И чтоб не писать простыню кода каждый раз когда какое-то значение из базы нужно.
$pdo->getArray limit добавляет, но писать ['pagetitle'] раздражает. ->pagetitle короче. И создавать $pdo каждый раз надо.
Ваш modHelpers object limit ставит. И код писать короче. Но ради 1 функции грузить кучу кода явно не стоит. Загрузки 516. Не слишком популярная библиотека. Код написанный другим человеком и так бывает сложно разобрать и, чтоб добавить еще не популярный синтаксис должна быть веская причина. Ну и с первого раза библиотека просто не понравилась.
Так почему в getObject limit=1 не добавили? Кто-нибудь знает?
вот добавить $criteria->limit(1) после этой строки github.com/modxcms/revolution/blob/932472d65793a305bd8c971f21032f24068258ad/core/xpdo/om/xpdoobject.class.php#L423
и этой github.com/modxcms/revolution/blob/932472d65793a305bd8c971f21032f24068258ad/core/model/modx/modaccessibleobject.class.php#L96
лог запросов mysql
SELECT… FROM `modx_site_content` AS `modResource` WHERE `modResource`.`parent` = 1
То есть, getObject получает все, а потом грузит первую запись :-(.
@Сергей Шлоков А зачем так сделано?? Память же все отстальное занимает.
И как теперь жить-то :-(. И limit через $query = $modx->newQuery долго добавлять.
2. Так контент и в tv и msProductData например. Все импортировать заколебешься.
3. Ну я против того чтобы стаскивать. У самого есть платные компоненты.
4. Хм… Абы какой контент не подойдет. Так что не уверен что найду.
4.1. Компонент, думаю, мне особо не нужен, но, вообще, оптимизацию сайта у меня спрашивают и понимать насколько с этим PageSpeed справляется вообще нужно.
То есть, попадется задача на оптимизацию и мне придется, либо покупать кота в мешке на не малые деньги, либо тырить. Вообще не айс :-(.
2 импорт базы сломает тестируемый компонент
3 А если заморачиватся, чтоб не сломало, то тогда уж проще стащить компонент с тестового сайта и спокойно протестить у себя.
4 Хотя рабочий контент и нужен для теста, но вообще-то не думаю, что владельцы сайта одобрят, чтоб их контент перетаскивался на какой-то левый сайт.
Ну 1 контент разбросан по tv и шаблонам. То есть даже 1 страницу можно долго копировать.
И 2 под контентом имел в виду контент всего сайта.
Интересно как можно запихать рабочий сайт на тестовый, чтоб протестить компонент.
Выполняется не быстрей, чем
И у тебя в файле $file уже типо кеш. Зачем его кешировать еще раз на странице. Наверно, можно было 2 ресурс, который показывается, сделать статическим и прикрепить к нему $file.
И getCollection и getObject по $criteria готовят запрос в mysql. Для такого критерия он будет примерно таким для getCollection и $getted_id=2:
А getObject просто добавит limit=1
Данные обрабатывает сортирует mysql сервер. Он это делает эффективнее, чем мы можем сделать в php. И в getObject они точно не сортируются.
Так вот, отличие getCollection и getObject ДЛЯ ДАННОГО ПРИМЕРА то, что getCollection заберет все записи с базы и займет кучу памяти, а getObject только одну и памяти понадобиться гораздо меньше.
И getCollection и getObject кроме запроса в mySQL делают, что-то еще, например проверяют есть ли доступ у юзера к объекту, но что конкректно я не разбирался и разбираться, в общем-то, не собираюсь :-). Только если что-то не так пойдет смотрю код функций. Важно только то, что getCollection и getObject выгружают данные с базы в виде xpdo объекта. Делать mySQL запросы напрямую не слишком удобно. Но если скрипт тупит или по памяти вылетает, то использую вместо getCollection getIterator или $modx->query($sql).
sql вам знать надо! учите.
Придумать бы, для подобный компонентов, какой-нибудь вариант покупки типа триала.
Выводим в плейсхолдеры и
Может конечно решение получше, но мне только такое пришло в голову.