Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

module/checkout_payment_block.html-как сделать {if $module_data.selection}{/if}

Доброй ночи всем, вот опять на пути перелопачивания формы оформления заказов, столкнулся с проблемой.
Хотелось бы сделать на странице checkout_payment.php отсутствие вот кое какого элемента в конструкции выводимой через шаблон module/checkout_payment_block.html.
Ситуация такая, например я выбрал на этапе "доставка" определенный вид доставки, перехожу на "способы оплаты" и получаю вот такую вот картину: http://awesomescreenshot.com/033sq6l28 если же я для доставки выбрал бы др способ, то тогда картина поменялась бы: http://awesomescreenshot.com/065sq6p85.
Так вот как же мне быть чтобы убрать этот злосчастный элемент где нету в данной ситуации "<input type="radio"..."?

Я попытался построить if комбинацию внутри шаблона module/checkout_payment_block.html, но она работать не желает, может ли кто нибудь помочь?

Вот что я хотел бы сделать:
{foreach name=aussen item=module_data from=$module_content}
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="moduleRow">
{if $module_data.selection}<td class="leftdist_field" width="6%">{$module_data.selection}</td>{/if}
<td class="moduleRowHover" width="75%">&nbsp;&nbsp;<b>{$module_data.module}</b></td>         
</tr>
</table>
<br/>
{/foreach}


то есть если выбор способов оплаты отсутствует, то данные элементы оформления инпута тоже отсутствуют.

Заранее спасибо.


Сейчас, если способ оплаты доступен  один, радиокнопка просто не показывается.  А Вы как хотите, что выводить в этом случае? Название метода оплаты целиком убрать, чтоб страница методов оплаты совсем ничего не показывала?


korshunov, видите там идет под радио кнопкой фон:
<td class="leftdist_field" width="6%">{$module_data.selection}</td>
так вот хотелось бы чтобы если радио кнопки нету, то чтобы этот код который я выделил жирным, просто не показывался.
Вот собственно какова идея.


Пробуйте


{if $module_content|@count<2} <td class="leftdist_field" width="6%">$module_data.selection}</td>{/if}


korshunov, неа, не помогло. Там вот что происходит:
<td width="6%" class="leftdist_field"><input type="hidden" value="nalojplatej" name="payment"/></td>
то есть просто hidden выводиться.

Начал копаться в checkout_payment.php

$radio_buttons = 0;
for ($i = 0, $n = sizeof($selection); $i < $n; $i++) {

$selection['radio_buttons'] = $radio_buttons;

if (($selection['id'] == $payment) || ($n == 1)) {
$selection['checked'] = 1;
}

if (sizeof($selection) > 1) {
$selection['selection'] = os_draw_radio_field('payment', $selection['id'], ($selection['id'] == $_SESSION['payment']));
} else {
$selection['selection'] = os_draw_hidden_field('payment', $selection['id']);
}
$selection['id'] = $selection['id'];

if (isset ($selection['error'])) {

} else {

$radio_buttons++;
}
}

я просто поставил
вместо $selection['selection'] = os_draw_hidden_field('payment', $selection['id']);
вот так $selection['selection'] = os_draw_radio_field('payment', $selection['id']);

получилось в итоге вот так: http://awesomescreenshot.com/08asr21e1

вопрос немного поменялся, а можно ли сделать так чтобы сразу выбранным стоял тот единственный способ оплаты? то есть чтобы radio был уже актив: http://awesomescreenshot.com/060sr3q96 ?

просто в checkout_shipping.php там при выборе способа доставки сразу уже стоит выбранным один пункт: http://awesomescreenshot.com/06asr3s27

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

Вот такая вот идея, я просто в php не силен, поэтому никак не могу там выставить этот актив для радио инпута.


Пробуйте

$selection['selection'] = os_draw_radio_field('payment', $selection['id'], true);


korshunov, спасибо огромное!! И вправду помогло, теперь сразу стоит отмеченным.  :)


Источник



Copyright ShopOS