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

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

Как вывести дополнительную цену из БД в списке товаров в админке?

 (Прочитано 404 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« : 19.10.2015, 15:27:33 »

Как вывести дополнительную цену из БД в списке товаров в админке.
Добавил код в файл списка товаров в админке
Код:
<td>
  <?php echo formatprice($row->product_price, sprintCurrency($row->currency_id));?>
</td>
<td>
  <?php echo formatprice($row->product_myprice, sprintCurrency($row->currency_id));?>
</td>
Добавил в БД строку product_myprice ниже цены товара и заполнил значениями.
Но в админке ничего не выводится.
Подскажите, пожалуйста, какие еще файлы поправить чтобы вывод моей цены заработал.
Записан
Linfuby
Живу я здесь
******

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

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


Всё просто...


« Ответ #1 : 19.10.2015, 18:48:29 »

\administrator\components\com_jshopping\models\products.php
Функция getAllProducts
Нужно добавить в SELECT Ваше поле (в двух запросах)
pr.product_myprice
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #2 : 20.10.2015, 11:20:46 »

Вставил в эту функцию, после pr.product_price свою цену pr.product_myprice, в 2-х запросах.
Не сработало, список товаров вообще не выводится. В структуре БД product_myprice существует после product_price.
Где еще нужно добавить?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #3 : 20.10.2015, 15:37:59 »

Цитировать
Не сработало, список товаров вообще не выводится.
неправильно вставили значит
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #4 : 20.10.2015, 16:16:01 »

Переменная product_price_disc

Сначала вывел тут
administrator/components/com_jshopping/views/product_list/tmpl/default.php
Код:
<?php echo formatprice($row->product_price_disc, sprintCurrency($row->currency_id));?>

Потом сделал изменения тут
administrator/components/com_jshopping/models/products.php
Код:
if ($category_id) {
            $query = "SELECT pr.product_id, pr.product_publish, pr_cat.product_ordering, pr.`".$lang->get('name')."` as name, pr.`".$lang->get('short_description')."` as short_description, man.`".$lang->get('name')."` as man_name, pr.product_ean as ean, pr.product_quantity as qty, pr.product_thumb_image as image, pr.product_price, pr.product_price_disc, pr.currency_id, pr.hits, pr.unlimited, pr.product_date_added, pr.label_id $query_filed FROM `#__jshopping_products` AS pr
                      LEFT JOIN `#__jshopping_products_to_categories` AS pr_cat USING (product_id)
                      LEFT JOIN `#__jshopping_manufacturers` AS man ON pr.product_manufacturer_id=man.manufacturer_id
                      $query_join
                      WHERE pr.parent_id=0 ".$where." ".$this->_allProductsOrder($order, $orderDir, $category_id)." ".$limit;
        }else{
            $mysqlversion = getMysqlVersion();
            if ($mysqlversion < "4.1.0"){
                $spec_where = "cat.`".$lang->get('name')."` AS namescats";
            }else{
                $spec_where = "GROUP_CONCAT(cat.`".$lang->get('name')."` SEPARATOR '<br>') AS namescats";
            }
           
            $query = "SELECT pr.product_id, pr.product_publish, pr.`".$lang->get('name')."` as name, pr.`".$lang->get('short_description')."` as short_description, man.`".$lang->get('name')."` as man_name, ".$spec_where.", pr.product_ean as ean, pr.product_quantity as qty, pr.product_thumb_image as image, pr.product_price, pr.product_price_disc, pr.currency_id, pr.hits, pr.unlimited, pr.product_date_added, pr.label_id $query_filed FROM `#__jshopping_products` AS pr
                      LEFT JOIN `#__jshopping_products_to_categories` AS pr_cat USING (product_id)
                      LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id=cat.category_id
                      LEFT JOIN `#__jshopping_manufacturers` AS man ON pr.product_manufacturer_id=man.manufacturer_id
                      $query_join
                      WHERE pr.parent_id=0 ".$where." GROUP BY pr.product_id ".$this->_allProductsOrder($order, $orderDir)." ".$limit;
        }
После того как добавил в селект переменную список товаров вообще не выводится.
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #5 : 20.10.2015, 17:07:37 »

Огромное спасибо, все получилось!
Вопрос закрыт, невнимателен в коде сайта.
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #6 : 21.10.2015, 10:54:44 »

Огромное спасибо, все получилось!
Вопрос закрыт, невнимателен в коде сайта.
В карточке товара для вывода моей цены сработал код
Код:
formatprice($this->product->product_price_disc)
А как в категории или в другом месте вывести мою цену? Код ниже не работает, ничего не выводит.
components/com_jshopping/templates/default/list_products/product.php
Код:
<?php print formatprice($product->product_price_disc);?>
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #7 : 21.10.2015, 11:10:43 »

\components\com_jshopping\lib\jtableauto.php function getBuildQueryListProductDefaultResult
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #8 : 21.10.2015, 11:45:32 »

\components\com_jshopping\lib\jtableauto.php function getBuildQueryListProductDefaultResult
А что относительно корзины?
<?php print formatprice($prod['price_disc'])?> // в оригинале было ['price']
« Последнее редактирование: 21.10.2015, 11:49:02 от tomas_morgam » Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #9 : 21.10.2015, 13:04:59 »

с корзины надо начинать было. тогда бы вам сразу сказали, что там далеко не одна строка. вывести цену - это одно. а учитывать ее при покупке - совсем другое. ковыряйте модель cart
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #10 : 21.10.2015, 15:16:36 »

с корзины надо начинать было. тогда бы вам сразу сказали, что там далеко не одна строка. вывести цену - это одно. а учитывать ее при покупке - совсем другое. ковыряйте модель cart
Спасибо, это также получилось. И последнее, правка емейл, где смотреть? Открыл модель checkout.php - не понятно где именно вытягивается цена и как "подсунуть" свою переменную.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #11 : 21.10.2015, 15:30:29 »

какой email?
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #12 : 21.10.2015, 16:06:35 »

какой email?
Шаблон письма-заказа, который отсылается на почту.
/components/com_jshopping/templates/default/checkout/orderemail.php
Код:
<?php print formatprice($prod->product_price_disc*$prod->product_quantity, $order->currency_code); ?>
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #13 : 21.10.2015, 16:09:23 »

ну так а вы в заказ уже сохранили свою цену?

может вам проще было для этого использовать обычную (стандартную) цену? а вашу новую просто показывать там где сейчас показываете стандартную.
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #14 : 21.10.2015, 17:16:45 »

Да, цену подключил в форме заказа просто сменив "price" на "price_disc".
Код:
<?php print formatprice(($prod['price_disc'])*$prod['quantity']);?>
С формирование емейл так не выходит.

Так я и не могу найти где выводится стандатрая цена, чтобы изменить на новую.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #15 : 21.10.2015, 17:26:08 »

ну так а вы в заказ уже сохранили свою цену?
письмо отправляется на основе заказа.
Записан
tomas_morgam
Осваиваюсь на форуме
***

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

Сообщений: 131


« Ответ #16 : 20.07.2016, 17:57:47 »

Как вывести в списке товара возле названия список категорий, к которым подключен товар (товар в 2-3 категориях).
Желательно перед этим кодом
Код:
<?php if (!$manufacturer_id){?>       
   <td>
      <?php echo $row->man_name;?>
   </td>
   <?php }?>
Записан
Linfuby
Живу я здесь
******

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

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


Всё просто...


« Ответ #17 : 21.07.2016, 22:31:00 »

Код
<?php if (!$category_id){?>
  <td>
     <?php echo $row->namescats;?>
  </td>
  <?php }?>
Записан
Страниц: [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