Новости Joomla

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

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

  • Захожу иногда
  • 188
  • 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/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение полей CF в карточке товара

Автор farmer66

Ответов: 2
Просмотров: 1123
Последний ответ 17.02.2023, 13:39:18
от farmer66
Вывод изображений настраиваемого поля в карточке товара

Автор wasssup

Ответов: 0
Просмотров: 1253
Последний ответ 05.07.2022, 08:51:19
от wasssup
Вывод категорий в результате поиска

Автор vladimirwk

Ответов: 3
Просмотров: 1336
Последний ответ 19.12.2020, 18:34:06
от gartes
Удалить псевдонимы товаров

Автор AHTEPO

Ответов: 9
Просмотров: 3093
Последний ответ 26.10.2020, 01:33:20
от gartes
Вывод наименование - настраиваемых полей?

Автор warlocksp

Ответов: 22
Просмотров: 1729
Последний ответ 19.10.2020, 15:06:43
от gulafi65