Добавление кнопки Быстрый Заказ для Яндекс.Маркет в Ubercart Drupal. Сниппет
Заказчик увидел у конкурентов кнопочку "Быстрый заказ" в Яндекс.Маркете. Возжелал 🙂
Сделала сниппет. В написании модулей опыта пока мало. И времени тоже ))).
Комментарии и исправления приветствуются. Емайл не вставляет.
1. Идем в Ваш_сайт\sites\all\modules\ubercart\uc_cart
2. Открываем файл uc_cart_checkout_pane.inc.
3. Находим в нем строчки (функция function theme_address_pane($form)):
$output .= '<div><table>'; foreach (element_children($form) as $field) {
Заменяем на:
$output .= '<div><table>'; //<--Яндекс быстрый заказ $cntr = 0; //Яндекс быстрый заказ --> foreach (element_children($form) as $field) {
4. В этой же функции находим:
if ($form[$field]['#required']) { $output .= $req; } $output .= $title .'</label></td>'; $output .= '<td>'. drupal_render($form[$field]) .'</td></tr>'; }
5. Заменяем на:
if ($form[$field]['#required']) { $output .= $req; } $output .= $title .'</label></td>'; //<--Яндекс быстрый заказ if (substr($field, 0, 9) == 'delivery_') { if ($cntr == 0) //кнопка Яндекс.Быстрый заказ, чтобы выводилась 1 раз $output .= '<a href="http://market.yandex.ru/addresses.xml?callback=ВАШ_АДРЕС_ДЛЯ_КНОПКИ"> <img src="http://cards2.yandex.net/hlp-get/5814/png/3.png" border="0" /></a>'; $cntr ++; if (isset($_POST[operation_id])){ $form['delivery_first_name']['#value'] = $_POST[firstname]; $form['delivery_last_name']['#value'] = $_POST[lastname]; $form['delivery_street1']['#value'] = $_POST[street]." ". $_POST[building].", к.".$_POST[suite] .", кв.".$_POST[flat].", п.".$_POST[entrance].", эт.".$_POST[floor].", домофон.".$_POST[intercom]; $form['delivery_city']['#value'] = $_POST[city]; $form['delivery_postal_code']['#value'] = $_POST[zip]; $form['delivery_phone']['#value'] = $_POST[phone]; } } //Яндекс быстрый заказ --> $output .= '<td>'. drupal_render($form[$field]) .'</td></tr>'; }
5. Сохраняем. Проверяем.
P.S. Яндекс пишет, что кнопка в самом Маркете появится лишь после того, как пользователи будут через нее заказывать.
Тут хэлп по подключению:
Cправедливо для Drupal 6 и Ubercert 2.