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

Siberex

  • Захожу иногда
  • 66
  • 0 / 0
Joomla 2.5 VM 2.0.20b
Поставил перед собой задачу сделать вывод цветов товара в категории под изображениями товаров.
Долго искал решение, но поиск рабочего результата не дал. Была тема http://joomlaforum.ru/index.php/topic,200240.0.html но решение не работает в моей версии
В моём случае товары с двумя полями - цвет товара и размер, оба атрибуты корзины.
Есть одно сырое решение:
Код
<?php
// Get a db connection.
$db = JFactory::getDbo();

$query = $db->getQuery(true);

$query->select(array('custom_value'));
$query->from('#__virtuemart_product_customfields');
$query->where('virtuemart_product_id='.$product->virtuemart_product_id);
$query->order('ordering ASC');

 
// Reset the query using our newly populated query object.
$db->setQuery($query);
 
// Load the results as a list of stdClass objects.
$results = $db->loadObjectList();
// print_r($results);
echo '<ul>';
foreach ($results as $result) {
if(!empty($result->custom_value)) {
echo '<span>'.$result->custom_title.': </span>'.$result->custom_value.'';
}
}
echo '</ul>';
?>
В результате поля в категории выводятся как на изображении №1. Там где отмечено красным (1) - это id картинок цвета товара. Там где синим (2) - это размеры.
Задача подправить так, чтоб выводились только цвета, (не id картинок, а сами картинки). Выглядеть должно как на изображении №2.

Подскажите пожалуйста что можно попробовать изменить, что достичь результата. В php знаний немного не хватает. Думаю вопрос многих интересует.
Заранее спасибо  ^-^
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Зачем писать запрос в базу? Можно было сделать проще.
копируете файл components\com_virtuemart\views\productdetails\tmpl\default_customfields.php
в папку components\com_virtuemart\views\category\tmpl
теперь можно вывести поля в категории так
Код
<?php $this->product = $product;
    if (!empty($this->product->customfieldsSorted['myposition'])) {
$this->position = 'myposition';
echo $this->loadTemplate('customfields');
    }
?>
myposition - имя позиции, можете задать свое, в админке когда создаете доп поля нужно вписать это значение.
*

Siberex

  • Захожу иногда
  • 66
  • 0 / 0
копируете файл components\com_virtuemart\views\productdetails\tmpl\default_customfields.php
в папку components\com_virtuemart\views\category\tmpl
теперь можно вывести поля в категории так
Код
<?php $this->product = $product;
    if (!empty($this->product->customfieldsSorted['myposition'])) {
$this->position = 'myposition';
echo $this->loadTemplate('customfields');
    }
?>
myposition - имя позиции, можете задать свое, в админке когда создаете доп поля нужно вписать это значение.
Спасибо за решение, но почему-то поле цвета не выводится (
1. Скопировал файл default_customfields.php в сайт/templates/шаблон/html/com_virtuemart/category/
2. Введ ваш код в файл сайт/templates/шаблон/html/com_virtuemart/category/default.php после кода вывода миниатюры
3. в поле настраиваемого поля "цвет" в графе "позиция маета" ввел "underimage" и его же поменял в коде вместо myposition
Где я ошибся?
*

lakshmi

  • Захожу иногда
  • 187
  • 5 / 0
Зачем писать запрос в базу? Можно было сделать проще.
копируете файл components\com_virtuemart\views\productdetails\tmpl\default_customfields.php
в папку components\com_virtuemart\views\category\tmpl
теперь можно вывести поля в категории так
Код
<?php $this->product = $product;
    if (!empty($this->product->customfieldsSorted['myposition'])) {
$this->position = 'myposition';
echo $this->loadTemplate('customfields');
    }
?>
myposition - имя позиции, можете задать свое, в админке когда создаете доп поля нужно вписать это значение.
У меня этот код не сработал делал так http://joomlaforum.ru/index.php/topic,200240.msg1170557.html#msg1170557 но только нет возможности указать позицию.
*

Alex_14

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Joomla 2.5 VM 2.0.20b
Поставил перед собой задачу сделать вывод цветов товара в категории под изображениями товаров.
Долго искал решение, но поиск рабочего результата не дал. Была тема http://joomlaforum.ru/index.php/topic,200240.0.html но решение не работает в моей версии
В моём случае товары с двумя полями - цвет товара и размер, оба атрибуты корзины.
Есть одно сырое решение:
Код
<?php
// Get a db connection.
$db = JFactory::getDbo();

$query = $db->getQuery(true);

$query->select(array('custom_value'));
$query->from('#__virtuemart_product_customfields');
$query->where('virtuemart_product_id='.$product->virtuemart_product_id);
$query->order('ordering ASC');

 
// Reset the query using our newly populated query object.
$db->setQuery($query);
 
// Load the results as a list of stdClass objects.
$results = $db->loadObjectList();
// print_r($results);
echo '<ul>';
foreach ($results as $result) {
if(!empty($result->custom_value)) {
echo '<span>'.$result->custom_title.': </span>'.$result->custom_value.'';
}
}
echo '</ul>';
?>
В результате поля в категории выводятся как на изображении №1. Там где отмечено красным (1) - это id картинок цвета товара. Там где синим (2) - это размеры.
Задача подправить так, чтоб выводились только цвета, (не id картинок, а сами картинки). Выглядеть должно как на изображении №2.

Подскажите пожалуйста что можно попробовать изменить, что достичь результата. В php знаний немного не хватает. Думаю вопрос многих интересует.
Заранее спасибо  ^-^
добрый день! ваш способ работает, но вместе со значением поля выводится также его id. как исправить это подскажите?
*

jumlancerCom

  • Захожу иногда
  • 52
  • 2 / 1
Если копируем default_customfields.php с папки productdetails в папку category тогда везде где $this->product-> меняем на $product->

Код: php
<?php
 if (!empty($product->customfieldsSorted['myposition'])) {
  $this->position = 'myposition';
   echo $this->loadTemplate('customfields');
 }
?>
*

Alex_14

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Если копируем default_customfields.php с папки productdetails в папку category тогда везде где $this->product-> меняем на $product->

Код: php
<?php
 if (!empty($product->customfieldsSorted['myposition'])) {
  $this->position = 'myposition';
   echo $this->loadTemplate('customfields');
 }
?>
спасибо! но этот вариант мне не подходит, так как нужно вывести значения настраиваемых полей через ; или | как здесь
http://www.iline-shop.ru/zhenskoe-bele/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод настраиваемых полей в категории

Автор gm35

Ответов: 5
Просмотров: 375
Последний ответ 14.08.2020, 21:20:24
от vladimirpetrovich
Вывод наименование - настраиваемых полей?

Автор warlocksp

Ответов: 7
Просмотров: 156
Последний ответ 21.07.2020, 15:30:27
от sivers
Вывод товаров из под категории

Автор gm35

Ответов: 1
Просмотров: 107
Последний ответ 28.04.2020, 04:13:14
от gm35
Если надо автоматически назначать товарам дополнительные категории

Автор rsn

Ответов: 0
Просмотров: 120
Последний ответ 29.02.2020, 13:55:11
от rsn
[Решено] Вывод других товаров тойже категории в карточке товара

Автор x-render

Ответов: 30
Просмотров: 5650
Последний ответ 06.01.2020, 07:39:31
от Igoritaly