Изображения в модуле категорий mod_virtuemart_category

  • 12 Ответов
  • 2373 Просмотров

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

*

Tref_mast

  • Осваиваюсь на форуме
  • ***
  • 126
  • 0
Приветствую! Нужна помощь. В позиции опубликован модуль mod_virtuemart_category. По умолчанию он показывает только ссылки. Нужно сделать так чтобы он так же выводил изображения категорий. Вложенности не будет, только родительские категории с картинками. Может кто то сталкивался с подобной задачей. Подскажите как реализовать подобное? Заранее спасибо!

P.S.
echo $category->images[0]->displayMediaThumb("",false); данный код взятый из шаблона категории не работает, выдает ошибку о несуществующей функции.

*

Tref_mast

  • Осваиваюсь на форуме
  • ***
  • 126
  • 0
Совсем никто не сталкивался чтоли?

*

robert

  • Профи
  • ********
  • 4002
  • 371
Какая функция? displayMediaThumb? Странно, что она не загрузилась. Попробуйте загрузить класс VmMediaHandler.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Tref_mast

  • Осваиваюсь на форуме
  • ***
  • 126
  • 0
Незнаю правильно понял, сделал вот так

$category->images[0]->displayMediaThumb('class="VmMediaHandler"', "" ,false);

результат такой

Fatal error: Call to a member function displayMediaThumb() on a non-object in /mysite.ru/modules/mod_virtuemart_category/tmpl/default2.php on line 54

default2.php это я делал свой шаблон, потому что данный модуль используется неоднократно, только в другом дизайне и с другой структурой.

*

robert

  • Профи
  • ********
  • 4002
  • 371
Понятно.
Незнаю правильно понял
Неправильно. Класс, который я имел в виду - объект VM, а не CSS класс.
Попробуйте добавить в начале файла
Код
require_once JPATH_COMPONENT_ADMINISTRATOR.'/components/com_virtuemart/helpers/mediahandler.php';
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Tref_mast

  • Осваиваюсь на форуме
  • ***
  • 126
  • 0
Не получается, путь берется почему то вот так

administrator/components/com_content/components/com_virtuemart/helpers/mediahandler.php

UPD.

сделал вот так require_once JPATH_ADMINISTRATOR.'/components/com_virtuemart/helpers/mediahandler.php'; вроде заработало, но когда вставил строку

echo $category->images[0]->displayMediaThumb("",false);

опять

Fatal error: Call to a member function displayMediaThumb() on a non-object
« Последнее редактирование: 06.06.2013, 15:00:20 от Tref_mast »

*

robert

  • Профи
  • ********
  • 4002
  • 371
сделал вот так require_once JPATH_ADMINISTRATOR.'/components/com_virtuemart/helpers/mediahandler.php';
Да, это моя ошибка.
А у вас объект $category существует? Не юзаю VM2 и mod_virtuemart_category, не могу сказать, что там написано.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Tref_mast

  • Осваиваюсь на форуме
  • ***
  • 126
  • 0
Объект $category существует, в файле есть такое

$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id);
$cattext = $category->category_name;

а потом идет

<?php echo JHTML::link($caturl, $cattext); ?>

*

robert

  • Профи
  • ********
  • 4002
  • 371
В конце файла добавьте
Код
<?php print_r($category); ?>
и выложите сюда то, что выведет.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

robert

  • Профи
  • ********
  • 4002
  • 371
Я специально поставил VM2 для теста. Все работает, VmMediaHandler уже загружен, достаточно добавить
Код
echo $category->images[0]->displayMediaThumb("",false);
Дело может быть в вашем шаблоне default2.php. Как вы подключаете его?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Tref_mast

  • Осваиваюсь на форуме
  • ***
  • 126
  • 0
Я незнаю какую версию вы ставили, но у меня ни в одном случае не работает. Default2 я сделал просто как альтернативный макет для модуля. Взял просто default.php и сделал из него default2.php. А подключал так...

в файле mod_virtuemart_category.xml

в месте где

   <filename>tmpl/default.php</filename>
добавил еще
   <filename>tmpl/default1.php</filename>
   <filename>tmpl/default2.php</filename>
Оба работают когда в админке выставляю шаблон модуля. Но картинки все равно не подгружаются. VmMediaHandler по идее должен подгружаться в файле helper.php, у меня он выглядит так:
Код
if (!class_exists( 'VmConfig' )) require(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart'.DS.'helpers'.DS.'config.php');
$config= VmConfig::loadConfig();
if (!class_exists( 'VirtueMartModelVendor' )) require(JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'vendor.php');
//if (!class_exists( 'VmImage' )) require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'image.php');
//if (!class_exists( 'shopFunctionsF' )) require(JPATH_SITE.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'shopfunctionsf.php');
if(!class_exists('TableMedias')) require(JPATH_VM_ADMINISTRATOR.DS.'tables'.DS.'medias.php');
if(!class_exists('TableCategories')) require(JPATH_VM_ADMINISTRATOR.DS.'tables'.DS.'categories.php');
if (!class_exists( 'VirtueMartModelCategory' )) require(JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'category.php');
Пробовал раскоментировать вот эту строку
Код
//if (!class_exists( 'VmImage' )) require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'image.php');
Результат один и тот же. Уже незнаю что делать(((

*

bloodwin

  • Новичок
  • *
  • 1
  • 0
Тоже столкнулась с такой задачей.
Чтобы отображались картинки необходимо в файле mod_virtuemart_category.php раскомментировать строчку
Код
$categoryModel->addImages($categories);

После этого картинки стали отображаться.

*

bgg87

  • Осваиваюсь на форуме
  • ***
  • 149
  • 2
  • Истина где-то рядом...
В файле mod_virtuemart_category.php раскомментировал строку

Код
$categoryModel->addImages($categories);

и ничего не работает! Подскажите пожалуйста в чем может быть дело?

Спойлер
[свернуть]
Бен, ай нид хелп!
Информационный портал