Новости Joomla

Вышли релизы безопасности Joomla 5.3.4 и Joomla 4.4.14

Релиз безопасности Joomla 5.3.4

Проект Joomla спешит сообщить о выпуске Joomla 5.3.4 и Joomla 4.4.14. Это релиз безопасности для серии Joomla 5.3 и релиз безопасности для серии Joomla 4.4.

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

mmi1973

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Сегодня существуют несколько вариантов сделать на основе VirtueMart обзор товара с вращением на 360 градусов. Все они в основном используют скрипты последовательно вращающие серию снимков, обычно сделанных на поворотном столике. Либо второй вариант - вставка фрейма со стороннего сервиса типа Мегавизор (megavisor.com). При варианте Flash swf ролик также позволяет вращать товар, при этом в сам ролик можно "вшить" защиту от копирования, т.е. он будет показываться только на одном определенном домене.
Сегодня мы закончили внедрение модификации в код VirtueMart 2.6.0 и теперь он поддерживает swf. При этом стандартные jpg/png можно не добавлять.
Карточка категории http://www.tovar-3d.ru/shop-store/kholodilniki
Карточка товара http://www.tovar-3d.ru/shop-store/melkaya-bytovaya-tekhnika/bosch-tda5660-card
Примеры на нашем сайте Товар в 3D по ссылке http://www.tovar-3d.ru/.
Итак по порядку, как все реализовать
1. Отредактируем administrator\components\com_virtuemart\views\product\tmpl\product_edit_information.php.
Добавим в код, отвечающий за вывод поля с артикулом в карточке товара поле для ввода названия файла swf.
Это еще один столбец. Название нашего поля product_swf. Рядом с текстовым блоков в админ панели выведется надпись «3D модель».
В нашем случае после строки 59 вставим код
Код
<!--=========Код нашего поля для вставки ссылки на swf===-->
<td width="21%" >
<div style="text-align:right;font-weight:bold;">
<?php echo "3D модель " ?></div></td><td width="79%" height="2">
<input type="text" class="inputbox" name="product_swf" id="product_swf" value="<?php echo $this->product->product_swf; ?>" size="32" maxlength="64" /></td>
<!--================================!--->

Получился блок
Код
<td>
<input type="text" class="inputbox" name="product_sku" id="product_sku" value="<?php echo $this->product->product_sku; ?>" size="32" maxlength="64" />
</td>
<!--=========Код нашего поля для вставки ссылки на swf===-->
<td width="21%" >
<div style="text-align:right;font-weight:bold;">
<?php echo "3D модель" ?></div></td><td width="79%" height="2">
<input type="text" class="inputbox" name="product_swf" id="product_swf" value="<?php echo $this->product->product_swf; ?>" size="32" maxlength="64" /></td>
<!--================================!--->
<td width="130px">
<span class="hastip" title="<?php echo vmText::_('COM_VIRTUEMART_PRODUCT_FORM_GTIN_TIP')?>"><?php echo vmText::_('COM_VIRTUEMART_PRODUCT_FORM_GTIN')?></span>
</td>
      
 
2. Добавим наше новое поле в базу данных.
Зайдем в phpMyAdmin, выберем нашу базу, выберем таблицу virtuemart_products и добавим новое поле product_swf.

3. Редактируем файл administrator\components\com_virtuemart\helpers\shopfunctions.php.
В данном файле ищем строку
$filterArray = array('product_name',
После '`p`.product_sku'
Вставляем данные с нашим новым полем.
$filterArray = array('product_name', '`p`.created_on', '`p`.product_sku', '`p`.product_swf', 'product_s_desc', 'product_desc',
4. Редактируем файл administrator/components/com_virtuemart/tables/products.php
после строчки  var $product_sku= '';  нужно дописать var $product_swf= '';
Собственно все. Осталось вывести Flash swf вместо стандартного фото формата jpg/png. В нашем случае в карточке товара мы не добавляем фото товара во вкладке «Изображения», т.е VirtueMart выдает стандартную заглушку no-image.
 
5. Для вывода флешки на странице категории отредактируем файл вывода default.php который находится в папке шаблона my_template/html/com_virtuemart/category/. Находим строчку <div class="product-image">
Исходный код
Код
<div class="product-image">
<a title="<?php echo $product->product_name ?>" rel="vm-additional-images" href="<?php echo $product->link; ?>">
<?php echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false); ?>
</a>
После правки код выглядит следующим образом:
Код
<div class="product-image">
<a >
<div >
<object width="265" height="259" type="application/x-shockwave-flash" data="images/stories/virtuemart/product/<?php echo $product->product_swf?>">
<param name="wmode" value="transparent" />
</object>
</div>
</a>

6.  Выведем флешку в карточке товара default_images.php который находится в папке шаблона my_template/html/com_virtuemart/productdetails/.
Находим строчку <div class="main-image">
Исходный код
Код
<div class="tab-content">
<?php foreach($this->product->images as $image) {
$i++; ?>
<div id="tab_<?php echo $i; ?>" class="tab-pane<?php echo $i==1?' active':''; ?>">
<?php
// echo $image->displayMediaFull("",true,"rel='vm-additional-images'");
echo $image->displayMediaThumb("",true,"rel='vm-additional-images'");
?>
</div>
<?php } ?>
</div>

После правки код выглядит следующим образом:

Код
<div class="tab-content">
<object width="340" height="333" type="application/x-shockwave-flash" data="images/stories/virtuemart/product/<?php echo $this->product->product_sku2; ?>">
<param name="wmode" value="transparent" />
</object>
</div>
Ну на этом все. Осталось заполнить базу товаров. Flash файлы залиты по ftp в папку images/stories/virtuemart/product/
Будем признательны за объективную оценку и предложения.

« Последнее редактирование: 01.05.2014, 15:06:21 от mmi1973 »
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Спасибо за опыт. Как будет с просмотром через мобильные гаджеты?
*

igorrr

  • Новичок
  • 6
  • 0 / 0
Эммм.. Прям точно работает?  ;D
Это:
Код
<div class="tab-content">
<object width="340" height="333" type="application/x-shockwave-flash" data="images/stories/virtuemart/product/<?php echo $this->product->product_sku2; ?>">
<param name="wmode" value="transparent" />
</object>
</div>
надо заменить на это:
Код
<div class="tab-content">
<object width="340" height="333" type="application/x-shockwave-flash" data="images/stories/virtuemart/product/<?php echo $this->product->product_swf; ?>">
<param name="wmode" value="transparent" />
</object>
</div>
в default_images.php
А так спасибо большое!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль SJ Filter for VirtueMart - только 30 custom fields

Автор Alex_gs

Ответов: 0
Просмотров: 2421
Последний ответ 08.08.2022, 15:09:59
от Alex_gs
Решено: Валютный знак рубля в VirtueMart 2

Автор frostwar

Ответов: 10
Просмотров: 11530
Последний ответ 07.04.2020, 15:50:54
от liberator
Как вывести модуль в витрине VirtueMart?

Автор Дмитрий_76

Ответов: 1
Просмотров: 2808
Последний ответ 09.02.2020, 10:06:17
от AlexB
Редактирование карточки товара VirtueMart

Автор muserun

Ответов: 2
Просмотров: 4926
Последний ответ 31.10.2019, 12:53:51
от Sandruk1
Не отображается заголовок категориq VirtueMart

Автор galll72

Ответов: 0
Просмотров: 951
Последний ответ 04.02.2019, 15:08:15
от galll72