Форум русской поддержки Joomla!® CMS
05.12.2016, 08:35:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Полное описание товара при завершении заказа

 (Прочитано 1585 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« : 02.10.2013, 14:15:01 »

Доброго времени суток
Потребовалась  полное описание товара при завершении заказа с функцией печати

нашел такой скрипт

Код:
require_once(JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'orders.php');
$order = VirtueMartModelOrders::getOrder($this->cart->virtuemart_order_id);
<pre> print_r($order); </pre>
echo $order['details']['ST']->order_number;  /*номер заказа*/
echo $order['details']['ST']->created_on;   /*дата заказа*/

но при вставки его в файл templates/ШАБЛОН /html/com_virtuemart/cartorder_done.php
выдает ошибку 500

при удалении
Код:
<pre></pre>

Код:
require_once(JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'orders.php');
$order = VirtueMartModelOrders::getOrder($this->cart->virtuemart_order_id);
 print_r($order);
echo $order['details']['ST']->order_number;  /*номер заказа*/
echo $order['details']['ST']->created_on;   /*дата заказа*/

выдает всякую всячину на страницу



убираю
Код:
print_r($order);

выдает чистую

Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #1 : 02.10.2013, 16:27:16 »

и вот еще проблема при подтверждении доставки и оплаты вылетает ошибка 500 запрос при запросе http://мой сайт/cart/confirm
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #2 : 03.10.2013, 11:00:56 »

Тема так и осталась актуальной для меня  !
не ужели не возникали такие вопросы
Записан
Максим Пишняк
Живу я здесь
******

Репутация: +35/-0
Offline Offline

Пол: Мужской
Сообщений: 848


Подразделение Virtuemart Украина


« Ответ #3 : 03.10.2013, 22:37:24 »

нашел такой скрипт
Где нашел?
и вот еще проблема при подтверждении доставки и оплаты вылетает ошибка 500 запрос при запросе http://мой сайт/cart/confirm
Ссылка? Версия? Сторонние расширения?
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #4 : 10.10.2013, 10:51:39 »

ошибку исправил
вот ссылка на скрипт
http://wedal.ru/virtuemart-2/virtuemart-2-kak-vyvesti-dannye-o-zakaze-na-stranitse-spasibo-za-zakaz-kejs-3.html
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #5 : 18.10.2013, 10:29:09 »

Пробую настроить так
Код:
<?php
defined('_JEXEC') or die('');
echo "<h3>".JText::_('COM_VIRTUEMART_CART_ORDERDONE_THANK_YOU')."</h3>";
echo $this->html;
require_once(JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'orders.php');
$order = VirtueMartModelOrders::getOrder($this->cart->virtuemart_order_id); ?>
<table>
  <tr>
    <td><pre><?php echo $order['details']['ST']->virtuemart_order_userinfo_id ?></pre></td>
    <td><?php echo JText::_('COM_VIRTUEMART_ORDER_USER_ID_CART');?></td>
  </tr>
  <tr>
    <td><pre><?php echo $order['details']['ST']->virtuemart_order_id ?></pre></td>
    <td><?php echo JText::_('COM_VIRTUEMART_ORDER_ID_CART');?></td>
  </tr>
  <tr>
    <td><pre><?php echo $order['details']['ST']->virtuemart_user_id ?></pre> </td>
    <td><?php echo JText::_('COM_VIRTUEMART_USER_ID_CART');?></td>
  </tr>
  <tr>
    <td><pre><?php echo $order['details']['ST']->email ?></pre> </td>
    <td><?php echo JText::_('COM_VIRTUEMART_EMAIL_I_DATA_CART');?></td>
  </tr>
  <tr>
    <td><pre><?php echo $order['details']['ST']->order_number ?></pre></td>
    <td><?php echo JText::_('COM_VIRTUEMART_ORDER_NUMER_CART');?></td>
  </tr>
    <tr>
    <td><pre><?php echo $order['details']['ST']->created_on ?></pre></td>
    <td><?php echo JText::_('COM_VIRTUEMART_CREATE_ON_CART');?></td>
  </tr>
    <tr>
    <td><pre><?php echo $order['details']['ST']->order_total ?></pre> </td>
    <td><?php echo JText::_('COM_VIRTUEMART_ORDER_TOTAL_CART');?></td>
  </tr>
    <tr>
    <td><pre><?php echo $order['details']['ST']->order_item_name ?></pre> </td>
    <td><?php echo JText::_('COM_VIRTUEMART_ORDER_ITEM_NAME_CART');?></td>
  </tr>
    <tr>
    <td><pre><?php echo $order['details']['ST']->product_quantity ?></pre> </td>
    <td><?php echo JText::_('COM_VIRTUEMART_PRODUCT_GUANTITY_CART');?></td>
  </tr>
    <tr>
    <td><pre><?php echo $order['details']['ST']->product_item_price ?></pre></td>
    <td><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ITEM_PRICE_CART');?></td>
  </tr>
    <tr>
    <td><pre><?php echo $order['details']['ST']->product_final_price ?></pre> </td>
    <td><?php echo JText::_('COM_VIRTUEMART_PRODUCT_FINAL_PRICE_CART');?></td>
  </tr>
</table>
но переменные не показывает


пустые ячейки
версия ВМ 2.0.24
версия Joomla! 2.5.14
« Последнее редактирование: 18.10.2013, 10:58:23 от Stasweb » Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #6 : 18.10.2013, 13:43:00 »

или подскажите как выводить переменные именно в конечной карточки товара
я пытаюсь вывести в файле order_done.php
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #7 : 18.10.2013, 15:58:34 »

 $order['details']['ST'] на  $order['details']['BT']  замените
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #8 : 18.10.2013, 16:16:46 »

все заработало
вот еще вопрос как мне теперь это все отправить на печать или в пдф
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #9 : 18.10.2013, 21:40:05 »

А вот с этим сложнее, тут можно использовать вывод иконок через api VirtueMart, однако проблема в том что эти методы выводят компонент в новом окне а  корзина к тому моменту уже удалена  из кэша. Как вариант можно закэшировать  саму страничку. Вставляете этот код в начале файла После строчки defined('_JEXEC') or die('Restricted access');
 
Показать текстовый блок

Затем в коде выводите ваши данные  и иконки:

Показать текстовый блок

В конец файла  добавляете этот код:

Показать текстовый блок

Но это еще не все) Для того чтобы заработала иконка pdf надо сделать еще несколько манипуляций. Во первых придется
хакнуть контроллер.В файле /components/com_virtuemart/controllers/cart.php находим строчку: public function display($cachable = false) меняем содержимое метода:

Показать текстовый блок

Ну и наконец надо создать файл default_pdf.php в папке с файлом order_done.php  со следущим содержимым:

Показать текстовый блок
« Последнее редактирование: 18.10.2013, 22:28:13 от zomby6888 » Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #10 : 23.10.2013, 13:45:00 »

не работают кнопки PDF и печать

при нажатии на кнопку печати не чего не происходит а при нажатии на кнопку пдф просто белый экран
в чем может быть такая проблема помогите решить
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #11 : 23.10.2013, 14:39:40 »

В самом Lightbox эти кнопки вобще лучше скрыть а если вы хотите печатать с него просто добавьте условие в код:
Код
if ($_GET['print']==1)
echo '<a href="#" onClick="window.print();return false"> Распечатать! </a>';
 

стилизовать можете как хотите кнопкой или еще как..
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #12 : 23.10.2013, 14:45:18 »

как и где их можно скрыть?
Печатать мне без разнице можно на прямую с страницы но вот печать не работает при нажатии просто открывается окно
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #13 : 23.10.2013, 14:52:45 »

замените просто часть кода где иконки вот этим:

Код
if ($_GET['print']==1)
echo '<a href="#" onClick="window.print();return false"> Распечатать! </a>';
else {
echo $this->linkIcon($details_url . '&format=pdf', 'COM_VIRTUEMART_PDF', 'pdf_button', false, false);
echo $this->linkIcon($details_url . '&print=1', 'COM_VIRTUEMART_PRINT', 'printButton', 'show_printicon');
}
 

Кнопка пдф должна работать по идеи если делали как я писал выше, у меня при клике начинается скачивания пдфки, может ошибка где то..
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #14 : 23.10.2013, 15:02:29 »

не сработало

сделал так
Код:
<?php
defined('_JEXEC') or die('');
$url = $GLOBALS['REQUEST_URI'];
$cache_url = md5($url);
if ($_GET['print']==1 || $_GET['format']=='pdf')
{
include ("cache/$cache_url");
exit();
}
ob_start ();
JHTML::_('behavior.modal');
$link = juri::root().'index.php?option=com_virtuemart&view=cart&layout=order_done&tmpl=component';
if ($_GET['print']==1)
echo '<a href="#" onClick="window.print();return false"> Распечатать! </a>';
else {
echo $this->linkIcon($details_url . '&format=pdf', 'COM_VIRTUEMART_PDF', 'pdf_button', false, false);
echo $this->linkIcon($details_url . '&print=1', 'COM_VIRTUEMART_PRINT', 'printButton', 'show_printicon');
}
echo "<h3>".JText::_('COM_VIRTUEMART_CART_ORDERDONE_THANK_YOU')."</h3>";
echo $this->html;
require_once(JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'orders.php'); $order = VirtueMartModelOrders::getOrder($this->cart->virtuemart_order_id);?>
<table>
  <tr>
    <td><?php// echo JText::_('COM_VIRTUEMART_ORDER_USER_ID_CART');?></td>
    <td><pre><?php// echo $order['details']['BT']->virtuemart_order_userinfo_id ?></pre></td>
  </tr>
</table>
    <pre> <?php// echo print_r($order);?> </pre>
<?php
$cache = ob_get_contents();
ob_end_clean ();
echo $cache;
$fp = @fopen ("cache/$cache_url", "w");
@fwrite ($fp, $cache);
@fclose ($fp);
?>

Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #15 : 23.10.2013, 15:08:50 »

$details_url на $link замените
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #16 : 23.10.2013, 15:15:24 »

вот что получилось

но на печать так и не уходит

в коде я заменил
Код:
if ($_GET['print']==1)
echo '<a href="#" onClick="window.print();return false"> Распечатать! </a>';
else {
echo $this->linkIcon($link . '&format=pdf', 'COM_VIRTUEMART_PDF', 'pdf_button', false, false);
echo $this->linkIcon($link . '&print=1', 'COM_VIRTUEMART_PRINT', 'printButton', 'show_printicon');
}
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #17 : 23.10.2013, 15:25:36 »

я забыл что иконки из кэша берутся все равно вот как вариант, у меня работает:

Показать текстовый блок

тоесть иконки в начало помещаем чтобы они не кэшировались
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #18 : 23.10.2013, 15:30:17 »

при нажатии на печать открывается окно

иконок там не но на печать так и не идет
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #19 : 23.10.2013, 15:44:07 »

странно ну а если кнопку вывести вместо ссылки
echo '<a href="#" onClick="window.print();return false"> Распечатать! </a>';
на
echo '<button class="button" onClick="window.print();return false"> Распечатать </button>';
поменять?
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #20 : 23.10.2013, 15:48:15 »

та же ситуация просто открывает окно а на печать так и не идет
Показать текстовый блок

Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #21 : 23.10.2013, 15:59:05 »

Показать текстовый блок

вот так должно быть
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #22 : 23.10.2013, 16:07:58 »

Все заработало
а вот кнопочку с области печати убрать можно
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #23 : 23.10.2013, 16:32:45 »

Можно. можно джаваскриптом но мне больше всего нравится так)
Код
<style type="text/css">
@media print  {
button.button { display: none;}
}
</style>
 
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #24 : 24.10.2013, 11:00:39 »

Вот Возник еще вопрос как вывести поля  доставку и оплату
перечень всех заказов в корзине
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #25 : 24.10.2013, 15:51:25 »

Способы оплаты и доставки:
Показать текстовый блок
Записан
Stasweb
Живу я здесь
******

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 950



« Ответ #26 : 24.10.2013, 16:22:00 »

Все сделал так
Показать текстовый блок

работает нормально спасибо
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #27 : 24.10.2013, 16:42:49 »

список всех заказов пользователя:
Показать текстовый блок
Записан
itckarpatia
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Сообщений: 152


« Ответ #28 : 01.08.2015, 00:29:46 »

Подскажите как еще вывести ссылку на заказанный товар и фото.

Код:
<?php
defined('_JEXEC') or die('');
echo "<h1 class='vm-page-title'>".JText::_('COM_VIRTUEMART_CART_ORDERDONE_THANK_YOU')."</h1>";

echo $this->html;
echo "<br>";
echo "<h3 class='zakaz'>".JText::_('COM_VIRTUEMART_MAIL_SHOPPER_OTP')."</h3>";
require_once(JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'orders.php');
$order = VirtueMartModelOrders::getOrder($this->cart->virtuemart_order_id); ?>


<script type="text/javascript" src="//static.sprosikupi.ru/js/widget/sprosikupi.bootstrap.js">
</script>

<script type="text/javascript">
window.spkPushOrder({
    "apiKey" : "7dc8850dc3b1090e0e3c9b",
    "order"  : "<?php echo $order['details']['BT']->order_number; ?>",
    "email"  : "<?php echo $order['details']['BT']->email; ?>",
    "name":  "<?php echo $order['details']['BT']->first_name; ?>",
    "created": Math.floor((new Date()) / 1000),
    "items"  : [
        {
            "good"  : "<?php echo $order['items']['0']->order_item_sku; ?>",
            "title" : "<?php echo $order['items']['0']->order_item_name; ?>",
            "url"   : "http://www.optom.net.ua/",
            "image" : " "
        },   

]
});
</script>
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet