0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 998 Просмотров
*

CaHeK_pk

  • Захожу иногда
  • 114
  • 2 / 0
День добрый, задался разработкой дополнительных функций для вирт2, по ходу разработки потребовалось создание новой таблицы "#__virtuemart_product_settings" и соответственно связки ее с virtuemart_product_id.
Создал новый файл в папке "tables", добавил классы получения данной таблицы, но вывод данных через "$this->product->нужное_поле" не получается, что для этого нужно сделать, можете помочь, заранее благодарю.
какие файлы есть:
product_settings.php - папка tables, класс "TableProduct_settings"
product.php - папка "models"
*

CaHeK_pk

  • Захожу иногда
  • 114
  • 2 / 0
вроде что-то получилось.
но выдает ошибки:
Спойлер
[свернуть]
что по файлам.
product.php

view.html.php
Код: php
// Добавил settings 
public function loadProductSettings($productId,$quantity,$virtuemart_shoppergroup_ids,$front){

$db = JFactory::getDbo();
$this->_nullDate = $db->getNullDate();
$jnow = JFactory::getDate();
$this->_now = $jnow->toMySQL();

//$productId = $this->_id===0? $product->virtuemart_product_id:$this->_id;
//$productId = $product->virtuemart_product_id===0? $this->_id:$product->virtuemart_product_id;
$q = 'SELECT * FROM `#__virtuemart_product_settings` WHERE `virtuemart_product_id` = "'.$productId.'" ';
$q .= ' ORDER BY `virtuemart_settings_id` DESC';

$db->setQuery($q);
$settings = $db->loadAssocList();
$err = $db->getErrorMsg();
if(!empty($err)){
vmError('getProductSingle '.$err);
} else {
if($settings and count($settings)==0){
vmdebug('getProductSingle getSettings query',$q);
}

}
return $settings;
}
932 public function getProductSettings(&$product,$quantity,$virtuemart_shoppergroup_ids,$front,$loop=false){

934 $product->virtuemart_settings_id = null;
935 $product->show_preorder = null;
936 $product->link_1 = null;
.. $product->load_image = null;
.. $product->show_save = null;
939 $product->nill = null;


$productId = $product->virtuemart_product_id===0? $this->_id:$product->virtuemart_product_id;
943 $product->settings = $this->loadProductSettings($productId,$quantity,$virtuemart_shoppergroup_ids,$front);
$i = 0;
$runtime = microtime (TRUE) - $this->starttime;
$product_parent_id = $product->product_parent_id;
}
//

Код: php
//добавил после
$mf_model = VmModel::getModel('manufacturer');
$manufacturers = $mf_model->getManufacturerDropdown($product->virtuemart_manufacturer_id);
$this->assignRef('manufacturers', $manufacturers);
//загрузка settings
$settings = $model->getProductPrices($virtuemart_product_id,false);
$this->assignRef('settings', $settings);
« Последнее редактирование: 10.10.2015, 16:21:03 от CaHeK_pk »
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
"$this->product->нужное_поле" не получается

Для этого надо записать в эту переменную что нибудь...

Ты же сам  указал что результат SQL запроса будет в переменной $settings
Код
$settings = $db->loadAssocList();
Ну а что бы выводить это все видом
Код
->нужное_поле
Надо сделать вот так...
Код
$settings = $db->loadAssocList();
$this->product = $settings[0];

вроде что-то получилось.
но выдает ошибки:

Надо полный код этих файлов....
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

CaHeK_pk

  • Захожу иногда
  • 114
  • 2 / 0
Для этого надо записать в эту переменную что нибудь...

Ты же сам  указал что результат SQL запроса будет в переменной $settings
Код
$settings = $db->loadAssocList();
Ну а что бы выводить это все видом
Код
->нужное_поле
Надо сделать вот так...
Код
$settings = $db->loadAssocList();
$this->product = $settings[0];

Надо полный код этих файлов....
http://mykamtour.ru/product.rar
тут лежит архив 3х файлов.
дело в том что пытался запихнуть все действия в работу файлов отвечающие за product, поэтому старался сделать так что бы вид вызова был как указал в первом сообщении
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление значения поля, заполняемого покупателем в тему письма о заказе

Автор aleks_yug

Ответов: 9
Просмотров: 767
Последний ответ 29.02.2020, 13:46:19
от rsn
VirtueMart 3.4.2 product neighbours не корректо работают

Автор Esmarmix

Ответов: 4
Просмотров: 725
Последний ответ 26.05.2019, 17:52:53
от Esmarmix
В авторизованной зоне скрыть edit product VirtueMart 2 - права shopper

Автор SusaninIvan

Ответов: 0
Просмотров: 616
Последний ответ 04.07.2017, 01:15:55
от SusaninIvan
Добавление постраничной навигации к списку подкатегорий

Автор usmdamir

Ответов: 3
Просмотров: 697
Последний ответ 26.04.2017, 18:49:11
от Strikerus
Связка 1с 8.3 ут 2.3 и Joomla 3.4.8 VirtueMart 3.0.12

Автор One

Ответов: 0
Просмотров: 893
Последний ответ 14.06.2016, 10:47:26
от One