Всего 125 673 комментария

Роман
08 июля 2021, 10:29
0
Как-то так наверно.
$(document).on('mse2_load', function(e, data) {
	$('.stars').stars();
});
Роман
08 июля 2021, 09:36
+1
Просто зацикливаешь, пока не получишь определенное кол-во дней. Но тут, есть ньюанс, когда рабочий день суббота, с этим пока не думал, как реализовать. Видимо нужно в исключение добавить.
<?php

$cout_day = 14; //кол-во дней
$holidayDates = [
    '2021-07-08',
    '2021-07-13',
    '2021-07-21',
    '2021-07-26'    
];

$countWD = 0;
$temp = strtotime("2021-07-01 00:00:00"); //дата старта
while($countWD < $cout_day){
    $next1WD = strtotime('+1 weekday', $temp);
    $next1WDDate = date('Y-m-d', $next1WD);
    if(!in_array($next1WDDate, $holidayDates)){
        $countWD++;
    }
    $temp = $next1WD;
}

$nextWD = date("Y-m-d", $temp);
echo $nextWD;
Роман
08 июля 2021, 09:21
0
Как-то так:
[[pdoMenu?
	&parents=`0`
	&level=`2`
	&tplInner=`@INLINE [[+wrapper]]`
	&tplParentRow=`tpl.test`
]]
Чанк tpl.test:
<li [[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a></li>[[+idx:is=`1`:then=`[[+wrapper]]`]]
Через @INLINE такая конструкция не будет работать.
varanika
08 июля 2021, 02:00
0
В общем пофиксила я. Полную версию решения выложу на modx.ru в статьях в ближайшие дни.
А пока в кратце. Какого то х***на этот момент плагина отдавал пустоту.
$msrpcMain->msOnBeforeSaveOrder($msOrder, (isset($_COOKIE['msrpcPayCoins'])&&$_COOKIE['msrpcPayCoins']));
Решила просто заменой на
$msrpcMain->msOnBeforeSaveOrder($msOrder, (isset($_SESSION['msrpcPayCoins'])&&$_SESSION['msrpcPayCoins']));
И в сниппете
$_SESSION['msrpcPayCoins'] = $_COOKIE['msrpcPayCoins'];
Ну и красоты добавила


Но эти несколько недель мучений все таки мне лучше сформировать в полноценное руководство :)

p.s. если спустя месяцы кто-то спросит как в личке, ребята, голова дырявая — я не вспомню уже ;)
@Александр, будем благодарны вам за публикацию решения, если вы его найдете. Кажется, именно из-за этого запроса мы апгрейдили сервер на одном из проектов в прошлом году, но не смог в истории уже откопать подтверждение((

Апгрейд конечно проблему решил и ничего не тормозит. К стати решает не только мощность железа но ещё и версии серверного софта.
Andrey
07 июля 2021, 20:52
+1
В ресурсах галка «Не показывать в меню», не?
evgeniy dovgani
07 июля 2021, 20:10
0
Решено не мучаться, а использовать JS.
Николай Савин
07 июля 2021, 18:22
+3
Если туда писать только ради ответа — то не нужно. Вопрос и здесь видели. Ответа на него нет. Это сложный вопрос, который требует достаточно большого количества времени, внимания и сил. На данный момент времени ответить каждому желающему и тем более оптимизировать программную часть компонента не хватает.
Юрий
07 июля 2021, 15:19
+1
Та же проблема была. Перепроверив все пункты инструкции, еще раз введя все значения, после следует перейти в приложение управления TM2 и выбрать нужный ресурс. Дальше просто много раз жмем «обновить значения», сохраняем и проверяем. Мне помогло, хотя я так и не понял в чем была ошибка, может кэш, а может и нет.
дмитрий
07 июля 2021, 15:13
0
в самом вверху вот так должно быть для списка
$id =  $modx->getPlaceholder('id');
дмитрий
07 июля 2021, 14:38
0
неа не работает так, нужно что то еще в снипете сделать
Сергей
07 июля 2021, 14:22
0
По логике просто заменить [[*id]] на [[+id]]
дмитрий
07 июля 2021, 14:15
0
Выводить в списке товаров не пробовали? в карточке норм, а вот в списке под каждым товаром как вывести?
дмитрий
07 июля 2021, 14:14
0
Выводить в списке товаров не пробовали? в карточке норм, а вот в списке под каждым товаром как?
Роман
07 июля 2021, 10:09
0
Благодарю.
Андрей Шевяков
07 июля 2021, 09:56
+1
Добрый день.
Вот что написано в справочнике Facebook
https://www.facebook.com/business/help/686259348512056?id=725943027795860



Рекомендации для изображений товаров

Используйте изображения товаров, которые:

  • имеют белый фон;
  • наглядно демонстрируют товар целиком;
  • демонстрируют товар с разных сторон или ракурсов (если изображений несколько);
  • показывают товар в реальных жизненных ситуациях.

Не используйте изображения товаров, которые содержат:

  • текст (например, призывы к действию или промокоды);
  • информацию, привязанную ко времени (например, краткосрочное снижение цены);
  • водяные знаки.



PS. На сайте для которого делал Фид, все изображения подходят под требования.
Точно не подскажу, пройдут ли проверку изображения с watermark.
Роман
07 июля 2021, 09:20
0
Подскажите, изображения с watermark не принимаются Фейсбуком или проходят проверку?
Роман
07 июля 2021, 08:47
0
Попробуй сюда написать. У меня тоже по этой же причине один из сайтов тормозит. Чем больше товаров, и опций, тем дольше идет сохранение.
Станислав
07 июля 2021, 01:17
0
Итак, вернусь. Проблема была в следующем: задания в крон ставились, выполнялись, но при выключении или удалении возникала эта ошибка:
[Crontab] $jobSpec must be crontab compatibile entry
(к слову сказать в слове compatibile ошибка (compatible)). Ввиду того, что дискуссия ни с кем так и не началась, а писать автору мне было стыдно и неловко (т.к. компонент бесплатен и пока что мне нечего предложить взамен), я начал делать диагностику всего. В первую очередь права — как известно многие ПУ, в частности PLESK для крона выдают bash (chroot) или как-то так, только внутри области пользователя. Точнее когда системный пользователь «видит» только в тех пределах, где расположен сайт. Ок, тут расширил права в настройках, чтобы работал путь до php. Но это не повлияло. Я поискал где вообще возникает ошибка и за проверку переменной jobSpec выступают два файла, один из них — CronEntry.php. Вот тут и прятался ответ на задачу.
Добавив в лог ошибок значение переменной
if (!preg_match($regex, $jobSpec, $match)) {
            throw new \InvalidArgumentException($jobSpec.' -> -> -> '.'$jobSpec must be crontab compatible entry');
        }
я обнаружил, что переменная $jobSpec принимает значение MAILTO="" и дальше уже текст ошибки. Я проверяю «список заданий» и вижу, что те задачи, которые я ставил с панели управления сервера напрямую приобретают вид:
MAILTO=""
SHELL="/bin/sh"
*/1 * * * * /-----/php/7.3/bin/php -f 'httpdocs/path/file1.php'
* */2 * * * /-----/php/7.3/bin/php -f 'httpdocs/path/file2.php'
Когда же ставится задача с компонента, то он не прописывает все параметры, а просто
*/4 * * * * /------/php/7.3/bin/php /var/---/---/---.ru/httpdocs/core/scheduler/ControllersLinks/file1.php > /var/---/---/---.ru/httpdocs/core/scheduler/logs/task_id_14_File1.log 2>&1 # 6ounu4
Оказывается, что там (в файле) идет работа регулярного выражения, который берет строку и не понимает эти MAILTO и выдает ошибку.
$regex = '/^\s*(([^\s\#]+)\s+([^\s\#]+)\s+([^\s\#]+)\s+([^\s\#]+)\s+([^\s\#]+))\s+([^\#]+)(?:#(.*))?$/';
Чисто в теории если добавить\поменять\переписать добавив ^[/*0-9a-z] где-то вначале, то он пропустит лишние строчки и считает именно запись задачи. Но к сожалению я не селен в регулярки и изучение примеров ни к чему меня не привели. (а упростив проверку я вовсе «убил» все свои задания (обидно было)). Каюсь, регулярные приложения знать надо. Виню себя и ругаю.
Ну так вот, когда я «зачистил» все свои задачи поставленные напрямую с панели управления vds и добавил их только с панели управления компонента, то все стало работать. И удаление, и выключение, и включение (правда иногда через раз не включается) да и при нажатии на кнопку «список заданий» выводится список без дополнительных параметров.
Поэтому, если автор вдруг это прочитает, то по идее нужно поправить в условии $JobSpec регулярное выражение, чтобы оно пропускало что-то не типичное для себя и забирала исключительно формат классической задачи. Если нет, придется изучать регулярки :-( Так как я боюсь, что возможно нужно будет что-то добавить с панели управления сервера (какие-нибудь ротации или чистки куша) да и не проверил компонент полностью, если прописать в настройках все параметры уведомлений.
Еще раз — компонент классный, одной только проверкой на количество неудачных запусков. Еще раз простите за беспокойство.