Добавление настраиваемого поля в Ubercart Invoice - PullRequest
6 голосов
/ 25 июня 2010

У моего клиента есть магазин на основе Ubercart, который работает отлично. Из-за некоторых внутренних вещей ему нужно вручную добавить поле в каждый счет. Я хотел знать, а точнее, как я могу добавить настраиваемое поле к заказам, которое отображается во всех счетах.

Ответы [ 2 ]

4 голосов
/ 16 июля 2013

Это старый вопрос, но это может помочь другим; Вы можете использовать следующий код.

Первая проверка файлов customer.itpl.php или customer.itpl.php, расположенных в ubercart/uc_order/templates.

Затем вы можете отредактировать цикл foreach, который повторяет все продукты, и добавить свои собственные поля следующим образом:

<?php
     foreach ($order->products as $product) {
         $nid = ($product->nid);
         $noderef = node_load($nid);
         echo $product->title .' : '.$noderef->your_own_field[0]['value'];
         echo "<br />";
?>

Моя установка Ubercart содержит поля продуктов, которые можно редактировать с http://www.mysite.com/admin/content/node-type/product/fields.

Вы можете найти больше информации по этой проблеме .

0 голосов
/ 30 июня 2010

Мне лично не приходилось вносить это изменение, поэтому я не говорю по своему опыту, но, глядя на документацию, я попробую следующее: (Вы можете сократить углы и избежать некоторой работы, изменив существующие модули, но это самый чистый способ, который я могу придумать)

  1. создайте модуль, в котором хранится ваше поле и номер заказа.
  2. с помощью from_alter измените экран редактирования счета, чтобы дать пользователям возможность редактировать поле.
  3. используйте шаблон счета-фактуры для заполнения поля в зависимости от номера заказа. фактура "системная" документация .

Это не простое изменение, но с помощью этого шаблона вы получите модификацию, которую вы ищете, не беспокоясь о том, что обновления не работают.

...