Перейти к содержанию
Официальный форум поддержки Simpla

Страница подтверждения заказа


Перейти к решению Решено Noxter,

Рекомендуемые сообщения

Здравствуйте. 

 

Подскажите пожалуйста, кто как определяет последнюю страницу подтверждения заказа?

 

Т.е. вот есть способ 

{if $module == 'OrderView' }  {/if} 

 

Но он идет по всем этапам оформления. 

 

А как определить именно последнюю завершающую страницу?

Ссылка на сообщение
Поделиться на другие сайты

{if $module == 'OrderView' || $this->request->get('url')}

 

Вот так заработало. 

 

но - он все равно тащит по всем страницам оформления заказа ((

Ссылка на сообщение
Поделиться на другие сайты

 

{if $module == 'OrderView' && $this->request->get('url')}
...
{/if}

 

Совет принципиально неправильный - годится только для того, чтоб сделать сайт нерабочим.

Крайне не рекомендуется использовать такое.

 

На форуме недавно DaVinci настройчиво предостерегал всех от шарлатанов, не отличающих файлы от классов.

В данном случае советчик даже не отличает PHP от шаблонизатора Smarty...

Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. 

 

Подскажите пожалуйста, кто как определяет последнюю страницу подтверждения заказа?

 

Т.е. вот есть способ 

{if $module == 'OrderView' }  {/if} 

 

Но он идет по всем этапам оформления. 

 

А как определить именно последнюю завершающую страницу?

 

OrderView это и есть последний этап. их два всего. корзина и заказ. еще есть оплата. вам нужно что именно сделать?

Ссылка на сообщение
Поделиться на другие сайты

Совет принципиально неправильный - годится только для того, чтоб сделать сайт нерабочим.

Крайне не рекомендуется использовать такое.

 

На форуме недавно DaVinci настройчиво предостерегал всех от шарлатанов, не отличающих файлы от классов.

В данном случае советчик даже не отличает PHP от шаблонизатора Smarty...

Ты дебилище неужели не понятно что ошибся синтаксисом?

Я в отличии от тебя мудозвона отличаю файлы от классов...

 

Спасибо! Так страничка падает)

Поправка:
{if $module == 'OrderView' && $smarty.get.url}
...
{/if}
Ссылка на сообщение
Поделиться на другие сайты

Поправка:

{if $module == 'OrderView' && $smarty.get.url}
...
{/if}

 

 

 

Интересно, а сам автор пробовал свой рецент в действии?

Остерегайтесь сомнительных советов! Иногда встречаются даже такие советчики, что даже не могут отличить последнюю завершающую страницу заказа от страницы, открываемой много позднее по ссылке из письма...

Изменено пользователем phukortsin
Ссылка на сообщение
Поделиться на другие сайты

 

Интересно, а сам автор пробовал свой рецент в действии?

Остерегайтесь сомнительных советов! Иногда встречаются даже такие советчики, что даже не могут отличить последнюю завершающую страницу заказа от страницы, открываемой много позднее по ссылке из письма...

Сходи к врачу имбицил.
Ссылка на сообщение
Поделиться на другие сайты

Доброго дня

 

 

{if $module == 'OrderView' && $smarty.get.url}
...
{/if}
 

 

Такой код тоже не дал особо ничего. 

 

И разницы между

 

 

{if $module == 'OrderView'}
...
{/if}
 

не уловил. 

 

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

 

А нужно, чтобы было только на странице "закончить заказ". 

 

Но обе эти страницы являются orderView

Ссылка на сообщение
Поделиться на другие сайты

Да просто потому, что в Симпле нет в принципе такой страницы.

После нажатия Закончить заказ - появляется кнопка Оплаты, потом можно вернуться ОБРАТНО и поменять способ оплаты и так можно делать сколько угодно раз...

Ссылка на сообщение
Поделиться на другие сайты

А как определить именно последнюю завершающую страницу?

 

Надо что-то добавочно сделать, чтобы отличать страницу заказа, которая появляется ВПЕРВЫЕ сразу после оформления, от страниц этого же заказа, которые позднее могут открываться много раз, например, по ссылке из письма  или личного кабинета. Простейший вариант: добавить к URL заказа параметр для первого открытия, в файле view/CartView.php при редиректе, примерно так:

			// Перенаправляем на страницу заказа
			header('Location: '.$this->config->root_url.'/order/'.$order->url."?just_created=yes");

А потом в шаблоне использовать

{if $smarty,get.just_created}

  Я есть завершающая страница заказа.

{/if}

Ссылка на сообщение
Поделиться на другие сайты

Надо что-то добавочно сделать, чтобы отличать страницу заказа, которая появляется ВПЕРВЫЕ сразу после оформления, от страниц этого же заказа, которые позднее могут открываться много раз, например, по ссылке из письма  или личного кабинета. Простейший вариант: добавить к URL заказа параметр для первого открытия, в файле view/CartView.php при редиректе, примерно так:

			// Перенаправляем на страницу заказа
			header('Location: '.$this->config->root_url.'/order/'.$order->url."?just_created=yes");

А потом в шаблоне использовать

{if $smarty,get.just_created}

  Я есть завершающая страница заказа.

{/if}

 

 

Какой в этом толк если в письме с заказом и в кабинете покупателя будет обычная ссылка вида {$config->root_url}/order/{$order->url}??? Изменено пользователем Noxter
Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Доброго дня

 

 

 

{if $module == 'OrderView' && $smarty.get.url}
...
{/if}
 
 

Такой код тоже не дал особо ничего. 

 

И разницы между

 

 

{if $module == 'OrderView'}
...
{/if}
 
не уловил. 

 

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

 

А нужно, чтобы было только на странице "закончить заказ". 

 

Но обе эти страницы являются orderView

 

 

Как вариант это проверять существует ли в заказе способ оплаты, а именно:
{if $order->payment_method_id}
...
{/if}
Это последняя страница заказа, следующий шаг оплата (на этой же странице).
Ссылка на сообщение
Поделиться на другие сайты

Какой в этом толк если в письме с заказом и в кабинете покупателя будет обычная ссылка вида {$config->root_url}/order/{$order->url}???

 

В том как раз и цель, чтобы эта ссылка ОТЛИЧАЛАСЬ параметром от всех прочих ссылок на страницу заказа. Догоняй!

 

Как вариант это проверять существует ли в заказе способ оплаты, а именно:

 

Годится как плохой вариант. Потому как наличие или отсутствие оплаты совсем не связано с обсуждаемым вопросом - страницу заказа  после оформления можно открыть двадцать раз, и только на десятом оплатить online. А может, оплата будет делаться вообще не online и отметку об оплате поставит админ в админке после пятнадцати просмотров...

 

 

Ссылка на сообщение
Поделиться на другие сайты

В том как раз и цель, чтобы эта ссылка ОТЛИЧАЛАСЬ параметром от всех прочих ссылок на страницу заказа. Догоняй!

 

Ну ты ТОРМОЗ!

Клиенту в заказ ссылка никак не попадёт другая, потому как она формируется шаблонно (в шаблоне email_order.tpl) как я выше описал.

Рукалицо...

Годится как плохой вариант. Потому как наличие или отсутствие оплаты совсем не связано с обсуждаемым вопросом - страницу заказа  после оформления можно открыть двадцать раз, и только на десятом оплатить online. А может, оплата будет делаться вообще не online и отметку об оплате поставит админ в админке после пятнадцати просмотров...

Да хоть 100500 раз откроют, способ работает.
Ссылка на сообщение
Поделиться на другие сайты

 

Ну ты ТОРМОЗ!

Клиенту в заказ ссылка никак не попадёт другая, потому как она формируется шаблонно (в шаблоне email_order.tpl) как я выше описал.

Рукалицо...Да хоть 100500 раз откроют, способ работает.

 

Еще как попадет!

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

Ссылка на сообщение
Поделиться на другие сайты

Еще как попадет!

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

Формируется и попадает в БД, ПОСЛЕ её не изменить твоим способом.
Ссылка на сообщение
Поделиться на другие сайты

Формируется и попадает в БД, ПОСЛЕ её не изменить твоим способом.

 

Во-первых, в БД попадает вовсе не ссылка на страницу заказа, а лишь ее часть - шифрованный токен.

Во-вторых, мой способ и не собирался менять, что записано а БД. Он меняет совсем другое. Читайте внимательнее - способ простой, понять очень легко даже новичку.

 

Опять не в тему.

Догоняйте шустрее, дяденька...

Ссылка на сообщение
Поделиться на другие сайты

Надо что-то добавочно сделать, чтобы отличать страницу заказа, которая появляется ВПЕРВЫЕ сразу после оформления, от страниц этого же заказа, которые позднее могут открываться много раз, например, по ссылке из письма  или личного кабинета. Простейший вариант: добавить к URL заказа параметр для первого открытия, в файле view/CartView.php при редиректе, примерно так:

			// Перенаправляем на страницу заказа
			header('Location: '.$this->config->root_url.'/order/'.$order->url."?just_created=yes");

А потом в шаблоне использовать

{if $smarty,get.just_created}

  Я есть завершающая страница заказа.

{/if}

 

При таком способе  just_created=yes тащится все равно по всем страницам order

 

Только при условии {if $order->payment_method_id} появляется в конце. Лучшего варианта пока нет видимо

Ссылка на сообщение
Поделиться на другие сайты

При таком способе  just_created=yes тащится все равно по всем страницам order

 

Только при условии {if $order->payment_method_id} появляется в конце. Лучшего варианта пока нет видимо

 

Смотря что имеете в виду под "тащится все равно по всем страницам order". 

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

 

Если у Вас "тащит" при работе с оплатой сразу после оформления, пробуйте в design/default/html/order.tpl  заменить

<form method=post>

на

<form method=post action={url just_created=null}>

в двух местах.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...