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

Ksu
Ksu
10 августа 2017, 08:14
0
Познавательно, спасибо.
Ksu
Ksu
10 августа 2017, 08:13
0
Эта настройка запрещает добавление больше определенного количества только одного товара. То есть если поставить ms2_cart_max_count=1, то можно добавить Товар1, Товар 2, Товар 3 и т.д. по одной единице. Как можно сделать, чтобы ограничить количество разного товара в корзине? Мне требуется ограничить любой товар в корзине единицей.
pompa94
09 августа 2017, 23:29
0
а в бд пути меняли?
pompa94
09 августа 2017, 23:12
0
Короче вряд ли кто-то так подскажет все возможные варианты. Там смотреть надо..)
Игорь
09 августа 2017, 23:09
0
в логах нет ошибок
pompa94
09 августа 2017, 23:05
0
А консоль что-нибудь говорит?
Игорь
09 августа 2017, 23:01
0
в закладке «файлы» все не открываются для редактирования
pompa94
09 августа 2017, 22:40
0
Прям ВСЕ файлы не открывает?
Павел
09 августа 2017, 22:17
+3
Приобрел, изучаю. Очень интересно.
Спасибо за труды
Владимир
09 августа 2017, 20:52
0
Решилось. В итоге проблема была в том, что неправильно указан секретный ключ виджета (amocrm_secret_key). В админке amoCRM он выводится не полностью, и чтобы его скопировать полностью — нужно выделить его двойным щелчком мыши, что весьма неочевидно.
Кроме того в вызове сниппета FormIt нужно было использовать параметр:
&amoCRMNameField=`amoField1==formField1||amoField2==formField2||amoField3==formField3`
, чтобы состыковать поля пользовательской формы с полями в amoCRM.
Спасибо автору модуля Михаилу Воеводскому за помощь!
Дмитрий Зарубин
09 августа 2017, 20:49
+1
Таки интересно получилось. Даже наверно куплю для нового проекта.)
А если не секрет, то сколько на него ушло времени? Как в общем, так и чистого.)
Евгений Шеронов
09 августа 2017, 20:27
+3
Выложил дополнение SeoFilter, которое закрывает все вопросы по SEO и не требует сложных действий :)
modstore.pro/packages/ecommerce/seofilter
Максим
09 августа 2017, 19:26
+1
Таки годнота ?)
Приеду домой потестю и куплю. Спасибо.
Евгений Шеронов
09 августа 2017, 18:53
0
А у вас кэш на 75 тыс. страниц сколько весит?
У меня почти на 50к товаров кэш раздувался до ~8гб и память на хостинге постоянно заканчивалась, нарушая работу сайта. Пришлось полностью отключить кэш на товарах.
Adorazel
09 августа 2017, 18:52
0
В новом обновлении это будет исправлено
Илья Уткин
09 августа 2017, 18:46
+1
Кажется, вот здесь:
$this->data = &$_SESSION['shk_order'];

Амперсанд (&) обозначает связь переменных. И если мы меняем $this->data — значит мы меняем $_SESSION['shk_order']
Илья Уткин
09 августа 2017, 18:34
1
+3
Когда мы делаем
$user->joinGroup('Group','Role2');
MODX делает несколько запросов в базу данных.

Если упрощённо, то сначала определяет ID группы по её имени (из таблицы modx_membergroup_names), потом — ID роли (таблица modx_user_group_roles). Когда ID-шники определены, происходит создание новой записи в таблице modx_member_groups.

После этого сбрасываются значения параметров сессии:
unset($_SESSION["modx.user.{$this->get('id')}.userGroupNames"],
      $_SESSION["modx.user.{$this->get('id')}.userGroups"]);

Для удаления пользователя из группы точно так же нужно найти ID-шник группы по её имени и удалить соответствующую запись из таблицы modx_member_groups.

В итоге запись
$user->leaveGroup('Group');
$user->joinGroup('Group','Role2');
сгенерирует минимум 5 запросов к базе данных.

Если где-то ранее у нас уже определены ID-шники ролей и групп, то можно внести изменения вручную:
$group_member_arr = array(
  'member' => $user->get('id'),
  'user_group' => $group_id,
);
if (!$member = $modx->getObject('modUserGroupMember', $group_member_arr) {
  $member = $modx->newObject('modUserGroupMember', $group_member_arr);
}
$member->set('role', $role_id);
$member->save();

unset($_SESSION["modx.user.{$this->get('id')}.userGroupNames"],
      $_SESSION["modx.user.{$this->get('id')}.userGroups"]);

Но через год-полтора будет сложно понять, что тут происходит.

Так что решение о том, какой из способов выбрать, каждый принимает сам.
Евгений Шеронов
09 августа 2017, 18:22
+3
Сегодня)
Дополнение опубликовано modstore.pro/packages/ecommerce/seofilter
Документация на github ещё не принята, но копия находится здесь: s9767.h8.modhost.pro/dokumentacziya/