Добавление кнопки Быстрый Заказ для Яндекс.Маркет в 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. Яндекс пишет, что кнопка в самом Маркете появится лишь после того, как пользователи будут через нее заказывать.
Тут хэлп по подключению: http://help.yandex.ru/partnermarket/?id=1121700#add

Cправедливо для Drupal 6 и Ubercert 2.

Рекомендовать в Социальных сетях:
 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *