Простая корзина. Шаблоны

ВНИМАНИЕ! Я предполагал использование только tpl-шаблонов.

В папке tpls/webforms/ создать папку basket
В нее помещаем шаблон корзины и блока заказов

 

<?php

$FORMS = array();


$FORMS['basket'] = <<<END
    <form action="/webforms/basket_change/" method="post" name="basket_frm">
    <h2>Товары в корзине</h2>
        <table border="1" cellspacing="2" width="100%" rules="rows">
            <tr style="background-color: #CCCCCC">
                <td><b>ID</b></td>
                <td><b>Наименование</b></td>
                <td><b>Цена</b></td>
                <td><b>Количество</b></td>
                <td><b>Итого</b></td>
                <td><b>Удалить</b></td>
            </tr>
            %items%
        </table>
        <b>Всего к оплате: %order_price%</b>
        <br />
        <br />

        <input type="submit" class="button button_gray" value="Пересчитать корзину" name="recalc" />
        <input type="submit" class="button button_red" value="Оформить заказ" name="order" />
        <input type="hidden" name="from_page" value="%pre_lang%/webforms/basket" />
    </form>
<br><br>
    
END;

$FORMS['basket_empty'] = <<<END

    <p>Корзина пуста</p>


END;

$FORMS['basket_item'] = <<<END

        <tr>
            <td>%id%</td>
            <td>%name%</td>
            <td>%price% р.</td>
            <td><input type="text" name="basket_items[%id%][count]" value="%count%" maxlength="3" style="width:30px; border:1px sold #CCCCCC;" /></td>
            <td>%price_total%</td>
            <td><input type="checkbox" name="basket_items[%id%][remove]" value="1" style="width: 15px; height: 15px;" /></td>
        </tr>

END;

$FORMS['addtobasket'] = <<<END
<a class="a_button button_red" style="width: 60px" href="%link%">Заказать</a>

END;





$FORMS['order'] = <<<END
    <form action="/webforms/order_do/" method="post" name="basket_frm">
    <h2>Оформление заказа</h2>
        %ordered_items%        
        <br />
        <br />
        <p>Укажите на выбор удобную вам контактную информацию, чтобы наши менеджеры могли связаться с вами</p>
        <table>
        <tr><td>Ваше имя</td><td><input type="text" name="fio"></td></tr>
        <tr><td>Контактный e-mail</td><td><input type="text" name="email"></td></tr>
        <tr><td>Телефон</td><td><input type="text" name="phone"></td></tr>
        </table>
        <textarea name="comments"></textarea>
        <input type="submit" class="button button_red" value="Оформить заказ" name="order" />
        <input type="hidden" name="from_page" value="%pre_lang%/webforms/basket" />
    </form>
<br><br>
    
END;


$FORMS['items_block'] = <<<END

        <table border="1" cellspacing="2" width="100%" rules="rows">
            <tr style="background-color: #CCCCCC">
                <td><b>ID</b></td>
                <td><b>Наименование</b></td>
                <td><b>Цена</b></td>
                <td><b>Количество</b></td>
                <td><b>Итого</b></td>
            </tr>
            %items%
        </table>
        <b>Всего к оплате: %order_price%</b>

END;


$FORMS['order_empty'] = <<<END

    <p>Ваш заказ отправлен. Менеджер свяжется с вами в ближайшее время</p>

    
END;

$FORMS['order_item'] = <<<END

        <tr>
            <td>%id%</td>
            <td>%name%</td>
            <td>%price% р.</td>
            <td>%count%</td>
            <td>%price_total%</td>
        </tr>

END;



?>

 

Собираем все вместе.

Поскольку в моем случае использовалась линейка PRO, в ней имеется модуль фотогалереи. Его и было решено использовать в качестве каталога.

К типу данных "Фотография" добавить поле "Цена", с именем "price" и типа "Цена".

В шаблоне вывода товара добавить вывод цены и ссылки на добавление в корзину

<p>Цена %price%P </p>
<p>%webforms addtobasket(%id%)%</p>

При необходимости вывести краткую форму корзины создать соотв. шаблон. Переход на страницу корзины /webforms/basket/

Конечно, не забыть в permissons.custom.php перечислить все вновь добавленные методы



=================
2011-12-25