alexivchenko
-
Публикаций
359 -
Зарегистрирован
Сообщения, опубликованные alexivchenko
-
-
В 15.08.2022 в 19:00, megauser сказал:
Помогите с запросом чтоб сделать фильтр в админке по товарам без фото. Примерно знаю где что добавить, но сам запрос составить не могу
в api/Products.php
public function get_products($filter = array()) { .. $has_images_filter = ''; .. if(isset($filter['has_images'])) { $has_images_filter = $this->db->placehold('AND (SELECT count(*)>0 FROM __images pi WHERE pi.product_id=p.id LIMIT 1) = ?', intval($filter['has_images'])); } .. $has_images_filter .. } public function count_products($filter = array()) { .. $has_images_filter = ''; .. if(isset($filter['has_images'])) { $has_images_filter = $this->db->placehold('AND (SELECT count(*)>0 FROM __images pi WHERE pi.product_id=p.id LIMIT 1) = ?', intval($filter['has_images'])); } .. $has_images_filter .. }
в simpla/ProductsAdmin.php
if($f = $this->request->get('filter', 'string')) { .. elseif($f == 'without_images') { $filter['has_images'] = 0; } }
в simpla/design/html/products.tpl
<!-- Фильтры --> <ul> .. <li {if $filter=='without_images'}class="selected"{/if}> <a href="{url keyword=null brand_id=null category_id=null page=null limit=null filter='without_images'}">Без изображений</a> </li> </ul> <!-- Фильтры -->
-
1 минуту назад, megauser сказал:
ее боты не ломают? а есть для симплы инструкция?
стоит на 3х сайтах, пока не было прохода ботов
-
Так же, есть на основе Smarty и чисел
-
-
Могу сделать, есть как готовый вариант, так и напишу с нуля
-
Какая-то индивидуальная проблема в системе
Либо у клиента стоит автовставка номера в браузере и при отправке формы подставляется номер введенный им ранее на других ресурсах
Чтобы это выяснить, нужно смотреть код и делать тестовые заказы. Вылавливать отправку и смотреть.
-
{literal} <script type="text/javascript"> $('.credit-form-submit').on('click',function(){ tinkoff.createDemo( { sum: 100500, items: [{name: 'iphone 11', price: 100000, quantity: 1}, {name: 'Чехол', price: 500, quantity: 1}], demoFlow: 'sms', promoCode: 'installment_0_0_6_6', shopId: 'SHOP_ID', showcaseId: 'SHOWCASE_ID', }, {view: 'newTab'} ) }); </script> {/literal}
-
3 часа назад, marsell сказал:
А как можно то? Дайте решение если не жалко
в view/View.php
до
// Все валюты
вставить
if($product_id = $this->request->get('id')){ $product_url = $this->products->get_product(intval($product_id)); if($product_url){ header('Location: /products/' . $product_url->url, true, 302); } else { header('Location: /', true, 302); } }
вызов
site.com/?id=8 -
Делал, цена зависит от четкого понимания, что именно нужно.
Если нужно именно то, что выше, цена 15000₽ -
1 минуту назад, Kami сказал:
странная вещь, в режиме инкогнито не входя в админку, все супер, оформилось и редирект. а вот из под админки был вот такой трабл.
надо смотреть где-то затирается сессия или задваивается
может когда меняли код, забыли где-то убрать
-
Замените у себя в view/OrderView.php
if($url = $this->request->get('url', 'string')) $order = $this->orders->get_order((string)$url); elseif(!empty($_SESSION['order_id'])) $order = $this->orders->get_order(intval($_SESSION['order_id'])); else return false;
на
if($url = $this->request->get('url', 'string')) { $order = $this->orders->get_order((string)$url); } elseif(!empty($_SESSION['order_id'])) { $order = $this->orders->get_order(intval($_SESSION['order_id'])); header('Location: ' . $this->config->root_url . '/order/' . $order->url, true, 302); } else { return false; }
Получается, если у нас в $_SESSION['order_id'] есть id номер заказа и мы переходим на страницу https://site.ru/order/, то нас перекинет на станицу с url заказа https://site.ru/order/453453545
-
6 минут назад, Kami сказал:
Спасибо при оформлении заказа
Array ( [current_page] => /cart/ [id] => bfe7d172342ca3b926b565fb8546baa6 [admin] => admin [order_id] => 65 )
Получается это url заказа? - bfe7d172342ca3b926b565fb8546baa6
//$order->url = md5(uniqid($this->config->salt, true)); $order->url = substr(time(), 2, 8);
Тут в функции add_order , доработка которая делает числовой , возможно из за нее и весь сыр бор?
1.
Забудем про
$order->url
2.
[id] => bfe7d172342ca3b926b565fb8546baa6
Никакого отношения не имеет к заказу и url
3.
Нас интересует
[order_id] => 65
4.
Перейдите на страницу https://site.ru/order/ и вы увидите на этой странице данные заказа под №65?
-
Нужно в index.php после session_start();
прописать
print_r($_SESSION);
и посмотреть, выводится ли
[order_id] =>
-
@Kosjak76 прав
При переходе, если в $_SESSION['order_id'] есть данные, допустим заказ №60 то клиенту на странице https://site.ru/order/ будет показана информация заказа №60 даже без url
Вам нужно смотреть, что с сессией
-
1 минуту назад, Kosjak76 сказал:
Откуда вы взяли редирект в callback ??
Его там нет
И он там НЕ НУЖЕН
https://github.com/kvalood/Robokassa/blob/master/callback.php#L98
-
В 15.02.2022 в 11:34, Kami сказал:
При настройке робокассы указываю
Success Url - https://site.ru/order/
Fail Url - https://site.ru/order/
Но при возврате кидает на страницу https://site.ru/order/ ну и соответственно 404.
Кто недавно ставил робокассу? Может что поменялось?
Кстати на сайте дорабатывался url заказа.(не мной) , по сути переделан в числовой чтоб можно было отслеживать заказ.
в Robokassa/callback.php есть
header('Location: ' . $simpla->config->root_url . '/order/' . $order->url, true, 302);
возможно идет верный редирект на страницу https://site.ru/order/ и должно быть подставлен url заказа, но так как у вас url был переделан видимо есть какие-то проблемы с выводом
$order->url
-
30 минут назад, Kami сказал:
Так пробовал , но при оплате и возврате в магазин, всё равно кидает на site.ru/order/
и без вариантов.
Нужно прописать не в конце файла
die(print_r($_POST));
а допустим выше
$order_id = intval($_POST['InvId']);
-
26 минут назад, Kami сказал:
а блин .Точно, но по факту получается робокасса не возвращает постом номер заказа, хотя при отправке заказа и его оплате все передается и оплата на робокассе проходит как надо
// Установим статус оплачен $simpla->orders->update_order(intval($order->id), $order_update); // Спишем товары $simpla->orders->close(intval($order->id));
Ну раз это срабатывает, то значит в принципе $order->id на месте.
Получается как мне посмотреть что прилетает POST запросом с робокассы?
die(print_r($_POST));
-
5 минут назад, alexivchenko сказал:
Так там получение id заказа методом POST а не GET
Для теста, замените
$order_id = intval($_POST['InvId']);
на
$order_id = intval($_GET['InvId']);
И проверяйте site.ru/payment/Robokassa/callback.php?InvId=60
-
9 минут назад, Kami сказал:
Хотя по идее передаю же в пост запросе id заказа
$order_id = intval($_POST['InvId']);
site.ru/payment/Robokassa/callback.php?InvId=60
Так там получение id заказа методом POST а не GET
-
Робокасса отработала нормально.
Тут нужно смотреть на работу callback. Если статус заказ меняется и он становится оплачен. Дальше должна быть отправка писем покупателю и админу, может быть ошибка отправки и происходит остановка. Дальше нужно распечатать $order->url и посмотреть вывод
-
view/CartView.php
if (!$this->user) {
header('Location: ' /, true, 302);
exit();
}
-
1 час назад, cypherpunks сказал:
Форков-плагиатов и так уже достаточно.
Что тогда мешает вам перейти на OkayCMS. Тот же форк Simpla. Только там ребята обновили структуру и переписали код, работает под PHP8. Местами ещё встречается логика Simpla. Модули пишутся не сложно, не трогая корневой код. Так что перенести плагины с Simpla, если у вас их много, дело времени.
-
Да забили уже давно на Simpla и на форум. Год не могут восстановить линки на файлы, после взлома и обновления версии движка форума.
Остается только ждать от давинчи форк на Laravel
Глюки с корзиной (подозреваю что проблема в кешировании)
в Общие вопросы по функционалу и дизайну
Опубликовано
Скорее всего у вас FastPanel управление хостингом или сервером. Если так, то нужно в панели убрать кеширование и снизать сжатие для домена.
Иначе нужно смотреть индивидуально.