Кратная покупка товара WP E-commerce с выбором количества товаров
17 августа 2011 в 1:50 в категории Плагины и модули 2 комментарияИтак, в предыдущем посте (Кратная покупка товара WP E-commerce) мы рассмотрели достаточно простой способ реализации функции кратной покупки товара в интернет-магазине на основе WordPress и E-commerce.
Сегодня, я расскажу, как можно предоставить пользователю выбрать количество товара из списка, который вы сами сформируете на основе своих потребностей или кол-ве продаваемого товара в упаковке. И мой пример подразумевает разное количество товаров в упаковке для разных категорий товара. Это пригодится для людей, которые держат оптовые интернет-магазины.
Итак, приступим.
Для начала, выберем (если еще не выбрано) в настройках нашего магазина (Параметры => Магазин => Презентация) возле поля «Добавить количество полей для каждого описания товара» — «Да».
После чего ищем следующие файлы:
- wpsc-products_page.php
- wpsc-single_product.php
в каталоге: wp-content/plugins/wp-e-commerce/wpsc-theme/
После этого, как показано в предыдущей статье (Кратная покупка товара WP E-commerce) , добавляем вспомогательную переменную в эти файлы:
$var = wpsc_breadcrumb_url();
И ищем в этих двух файлах функцию мульти-добавления в корзину. Найти ее можно легко по следующему условию:
<?php if(wpsc_has_multi_adding()): ?>
Тут вы видите несколько тегов Input. Некоторые из них спрятаны, и один виден и определен как text. Для того чтобы человек мог выбрать из определенных вами «упаковок» мы переделываем input в select и соответственно вписываем туда свои варианты. (Не забываем тегу select присвоить те же name и id что были и у тега input!!!).
Мой пример подразумевает под собой определенное количество товара в упаковке для КАЖДОЙ категории. Для этого и нужна вспомогательная переменная и проверка, которую я рассматривал в предыдущем посте (Кратная покупка товара WP E-commerce).
Если у вас во всех категориях один вариант кратности, то можно без проверок, просто вместо тега Input:
<select id="wpsc_quantity_update_<?php echo wpsc_the_product_id(); ?>" name="wpsc_quantity_update"> <option value="20">20</option> <option value="40">40</option> <option value="60">60</option> <option value="80">80</option> <option value="100">100</option> </select>шт.
Если же все-таки в каждой категории своя кратность покупки товара, то делаем следующую проверку:
<?php if (eregi("/(название-категории, в том виде, которую воспринимает сервер)/",$var)){ ?> <select id="wpsc_quantity_update_<?php echo wpsc_the_product_id(); ?>" name="wpsc_quantity_update"> <option value="20">20</option> <option value="40">40</option> <option value="60">60</option> <option value="80">80</option> <option value="100">100</option> </select>шт. <?php }elseif (eregi("/( название-категории2, в том виде, которую воспринимает сервер)/",$var)){ ?> <select id="wpsc_quantity_update_<?php echo wpsc_the_product_id(); ?>" name="wpsc_quantity_update"> <option value="2">2</option> <option value="4">4</option> <option value="6">6</option> <option value="8">8</option> <option value="10">10</option> <option value="20">20</option> <option value="50">50</option> <option value="100">100</option> </select>шт. <?php }elseif (eregi("/(название-категории3, в том виде, которую воспринимает сервер)/",$var)){ ?> <select id="wpsc_quantity_update_<?php echo wpsc_the_product_id(); ?>" name="wpsc_quantity_update"> <option value="60">60</option> <option value="120">120</option> <option value="180">180</option> <option value="240">240</option> <option value="300">300</option> <option value="600">600</option> </select>шт. <?php }else{ // Оставляем на всякий случай поле для ввода количества, в случае четвертой категории, которой не требуется кратность. ?> <input type="text" id="wpsc_quantity_update_<?php echo wpsc_the_product_id(); ?>" name="wpsc_quantity_update" size="2" value="1"/> <?php } ?>
Как видит русский текст браузер (я, например, смотрю на ссылку через Opera DragonFly):
"без-рубрики" = "%d0%b1%d0%b5%d0%b7-%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b8"
Вроде все. Если возникают вопросы или затруднения — пишите мне в комменты. Если помогло, буду благодарен за «+1» от google или за хороший коммент =).
Всем спасибо за внимание, удачного кодинга!
2 комментария
Подскажи, если знаешь. как задать в wp-e-commerce количество товаров на страницу. у меня все на оду лепятся. Спасибо.
Если не ошибаюсь, то в настройках самого WordPress где вы указываете кол-во записей на страницу установите то число которое надо. E-commerce использует эту константу.