Ссылка на оформление заказа с учетом параметра ssl

info@ravencode.ru

В настройках поселения магазина есть параметр "Использовать защищенное HTTPS-соединение при оформлении заказа и для личного кабинета покупателя", главный вопрос как получить ссылку на оформление заказа с учетом этого параметра?

Ну или хотя бы как получить значения этих настроек?

2 декабря 2016
  • Eugen Nichikov 2 декабря 2016 09:42

    waRequest::param('ssl') вроде.

  • Rat 2 декабря 2016 09:42
    $secure_checkout = (bool) waRequest::param('ssl');
  • info@ravencode.ru 2 декабря 2016 11:15

    Нет, это вы мне параметр из запроса даете, а мне нужно значение из настроек - я ссылку на оформление заказа сформировать не могу т.к. не знаю этого значения.

  • Eugen Nichikov 2 декабря 2016 11:24

    Это значение нужной настройки текущей витрины во фронтенде.

  • info@ravencode.ru 2 декабря 2016 11:36

    это и так понятно, вопрос как её получить.

  • Rat 2 декабря 2016 12:29

    Если это значение надо получить во фронтенде магазина, то как раз таким способом. Если в бекенде или в других приложениях, то читать содержимое системного конфига routing.php (соответствующими методами фреймворка), в который оно сохраняется.

  • info@ravencode.ru 2 декабря 2016 12:32

    Не получится так получить это значение во фронтенде - ведь параметр ssl используется только для страниц оформления заказа и личного кабинета.

  • Rat 2 декабря 2016 12:34

    "Используется" и "доступен" — разные понятия. Доступен он на всех страницах фронтенда, а использовать его можно необязательно везде.

  • info@ravencode.ru 2 декабря 2016 15:24

    товарищи, заканчивайте уже играть в капитана очевидность(

  • Rat 2 декабря 2016 15:26

    А чем конкретно не устраивают ответы-то?

  • info@ravencode.ru 2 декабря 2016 15:44

    Ни одного ответа на поставленные вопросы я так и не получил.

    $ssl = ???;
    $url = (new waRouting)->getUrl('/frontend/checkout', array('ssl' => $ssl))
  • Rat 2 декабря 2016 15:54
    $ssl = ???;

    Зависит от того, где выполняется код. Если во фронтенде, то я выше показал как получить это значение. Чем конкретно не устраивает предложенный способ? В какой ситуации он возвращает не тот результат, который нужен?

    Либо вы не пробовали сделать, что я предложил, либо вы не до конца объяснили, что требуется. Оттого и недопонимание...

  • Rat 2 декабря 2016 16:06

    Судя по коду, который написали разработчики магазина в wa-apps/shop/lib/config/shopConfig.class.php, получается примерно такой способ для формирования ссылки на оформление заказа с учётом этой галки:

    $protocol =  waRequest::param('ssl') ? 'https' : 'http';
    $url = $protocol.'://'.waRequest::server('HTTP_HOST').wa()->getRouting()->getUrl('/frontend/checkout');
  • info@ravencode.ru 2 декабря 2016 19:00
    waRequest::param('ssl')

    это параметр текущего запроса и если мы, например, находимся в каталоге товаров где используется http протокол, то и ссылка на оформление заказа будет http, а не https как должно было бы быть с учетом значения ssl.

  • BNP (Дмитрий) 2 декабря 2016 21:15

    Может я что-то не понимаю, но если это пишется куда-то в настройки, то что мешает прочитать это оттуда и использовать в нужных местах?

  • Eugen Nichikov 3 декабря 2016 12:44

    info@ravencode.ru, чем срач разводить, взял бы и проверил, что тебе говорят.

    шаблон



    Настройка


    Результат


    Настройка


    Результат



    Получи значение настройки для текущей витрины во фронтенде.

  • info@ravencode.ru 12 декабря 2016 17:44

    Eugen Nichikov

    спасибо, думал меня просто до конца не поняли, это скорее баг (це не баг, це фича скажут разрабы wa), т.к. данный параметр к текущему запросу никакого отношения не имеет и по логике должен извлекаться из конфига поселения (о том как получить к нему доступ я и спрашивал).

  • info@ravencode.ru 12 декабря 2016 17:47

    Пропустил в описании

    При обработке запросов к фронтенду метод waRequest::param() возвращает значения параметров поселения приложения, к фронтенду которого выполняется запрос.


Чтобы добавить комментарий, зарегистрируйтесь или войдите