Новости Joomla

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

Flanker

  • Захожу иногда
  • 103
  • 2 / 0
Изменял, но фотка лезет сама:


[вложение удалено Администратором]
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
1 - каких размеров в настройках магазина стоит обрезание превьюшки?
2 - если изменять указанный класс - блок с бордюром расширяется?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Flanker

  • Захожу иногда
  • 103
  • 2 / 0
1- стоит 90х90
2 - начинаю изменять, вообще выстраивается все в столбик, возвращаю обратно как было, и все разъезжается =)


У меня товаров со скидкой около 50 , и ясное дело выводить все в модуль на главную это не красиво. Есть ли возможность вывести только товары со скидкой в отдельный раздел ?
*

Terp

  • Осваиваюсь на форуме
  • 14
  • 2 / 0
  • www.piterbody.ru
Кстати заметил интересную особенность данного модуля:

Изначально на моем сайте было - 14 товаров горизонтально (кэширование в самой Joomla выключено)
после включения кэширования - товары стали показываться вертикально.
после отключения кэша - все вернулось в нормальный вид.
*

gandgy

  • Осваиваюсь на форуме
  • 25
  • 0 / 3
пока никакая, в модуль этого не заложено
в хелпер добавить через JOIN таблицу #__vm_category, в SELECT соответственно добавить category_name, в цикле foreach обозначить новый элемент массива
Код: php
$lists[$i]->catname 		= $row->category_name;
и дальше в шаблоне модуля оперировать значением
Код: php
<?php echo $item->catname; ?>

А можно точнее как это описать в хелпере? У меня не получается ((
*

gandgy

  • Осваиваюсь на форуме
  • 25
  • 0 / 3
Подскажите пожалуйста как добавить в модуль свою переменую для отображения - в частности надо сделать небольшой pre текст перед блоком и вывести его в нужном месте шаблона - и чтобы текст можно было править или добавлять из меню модуля. Спасибо.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Подскажите пожалуйста как добавить в модуль свою переменую для отображения - в частности надо сделать небольшой pre текст перед блоком и вывести его в нужном месте шаблона - и чтобы текст можно было править или добавлять из меню модуля. Спасибо.
посмотрите как в текущем модуле сделано получение в хелпере параметров из XML (настроек) и передача в шаблон из хелпера
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

bigbug

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Повторюсь, но думаю многим интересна судьба появления в модуле цены со скидкой. Или хотя бы может быть кто-нибудь сможет объяснить как это реализовать.
*

gandgy

  • Осваиваюсь на форуме
  • 25
  • 0 / 3
посмотрите как в текущем модуле сделано получение в хелпере параметров из XML (настроек) и передача в шаблон из хелпера
Посмотрел. Кому интересно, как вывести свою переменную. В моем случае это переменная pre_text

В XML написал       

<param name="pre_text" type="text" default="" label="Напишите pre_text" description="Здесь можно вписать любой текст, чтобы вывести в шаблон" />

В helper после строк

class modVirtUniversalHelper
{
   function getList(&$params)
   {
      global $mainframe;

      echo modUniversal_style();

Вписал -  $pre_text = $params->get( 'pre_text', null );

После    foreach ( $rows as $row )
      {
вписал:
$lists[$i]->pre_text      = $pre_text;

В шаблон вставил <?php echo $item->pre_text; ?>

Все.


« Последнее редактирование: 23.11.2009, 19:55:48 от gandgy »
*

gandgy

  • Осваиваюсь на форуме
  • 25
  • 0 / 3
« Последнее редактирование: 23.11.2009, 20:45:46 от gandgy »
*

komandor43

  • Осваиваюсь на форуме
  • 26
  • 5 / 0
Повторюсь, но думаю многим интересна судьба появления в модуле цены со скидкой. Или хотя бы может быть кто-нибудь сможет объяснить как это реализовать.
1. В файле mod_virtuemart_universal.xml  ставите флажок "выводить цену со скидкой"  Да/Нет
2. В файле helper.php. Ищете в базе цену со скидкой и прописываете это поле в запросе
                                Добавляете результат запроса в массив list. Аналогично другим полям...
3. В файле /tmpl/default.php  пишете вывод перечеркнутой цены на экран. Чтобы цена была перечеркнута, используете файл стилей /files/mod_virtuemart_universal.css. В зависимости от нового флажка цена будет выводиться или нет (это тоже пишете сами).
*

bigbug

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
1. В файле mod_virtuemart_universal.xml  ставите флажок "выводить цену со скидкой"  Да/Нет
2. В файле helper.php. Ищете в базе цену со скидкой и прописываете это поле в запросе
                                Добавляете результат запроса в массив list. Аналогично другим полям...
3. В файле /tmpl/default.php  пишете вывод перечеркнутой цены на экран. Чтобы цена была перечеркнута, используете файл стилей /files/mod_virtuemart_universal.css. В зависимости от нового флажка цена будет выводиться или нет (это тоже пишете сами).


Благодарю за ответ. Вот только не могли бы вы по второму пункту чуть более подробно?
*

yadrinez

  • Захожу иногда
  • 108
  • 9 / 0
переделал маленько модуль так чтобы цены выводил используя стандартный механизм Virtuemat.
Не надо будет заморачиваться с округлением и со скидками. Все будет отображаться так как укажите в настиройках VM.
для этого используем функцию show_price из ps_product.php
В файле mod_virtuemart_universal\helper.php Добавил строчки

Код
<?php
/**
* @author Beliyadm @license GNU/GPL
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

//ЗДЕСЬ начинается вставка
global $mosConfig_absolute_path;

// Load the VirtueMart main parse code
if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
} else {
require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' );
}

require_once ( CLASSPATH. 'ps_product.php');
$ps_product = new ps_product;

//Здесь заканчивается вставка

class modVirtUniversalHelper

Потом в файле mod_virtuemart_universal\tmpl\default.php

для вывода цены используем код

Код
<?php echo $ps_product->show_price( $item->pid, true ); ?> 

вставляем в любом месте внутри цикла  например так

Код
<?php foreach ($list as $item) :  ?>
    <div class="mod_vm_universal">
        <?php if ($item->discount == '1') { ?>
        <img src="<?php echo JURI::base(); ?>modules/mod_virtuemart_universal/files/ico_discount.png" class="discount" alt="Скидка на продукт!" />
    <?php } else {} ?>
    <span class="mod_vm_title"><?php echo $item->pname; ?></span>
    <a href="<?php echo $item->link; ?>" title="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" class="mod_vm_link">
    <img src="<?php echo $item->pimage; ?>" alt="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" />
      </a>
<?php echo $item->intro; ?>
      <a href="<?php echo $item->link; ?>" title="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" class="mod_vm_readmore">Подробнее</a>
      <span class="mod_vm_price">Цена: <?php echo $item->price; ?> <?php echo $item->currency; ?></span>
//Для сравнения вставляю вывод нашей цены
<?php echo $ps_product->show_price( $item->pid, true ); ?>
</div>
<?php endforeach; ?>

Я в PHP вообще не силен поэтому не знаю корретно ли
как  я создаю объект $ps_product = new ps_product; Удаляется ли он потом.
Строчки эти я позаимствовал из стандарного модуля для вывода продуктов.

Но цена выводится нормально. С правильными разделителями, с НДС или без в зависимости от настроек и описанием валюты.
Был бы признателен кто бы по уму переделал используя данную наводку по выводу цены


А функция $ps_product->show_price выводит цену по шаблону определяемому в файле com_virtuemart\themes\s5_shopper_frenzy\templates\common\price.tpl.php

где s5_shopper_frenzy ваша тема для VM

Да и надо наверное переделать файл helper.php чтобы выводил товары без цены (тогда вместо цены будет показываться строчка "Позвоните чтобы уточнить цену")

Слегка увеличивается кол-во запросов, но зато вывод цены правильный в зависимости от настроек.
Но кол-во запросов меньше чем при стандартном выводе
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
а ты знаешь, что $ps_product->show_price делает порядка 5 запросов на 1 товар?
*

yadrinez

  • Захожу иногда
  • 108
  • 9 / 0
 ну я и говорю что увеличивается слегка кол-во запросов, но все равно меньше чем стандартный модуль. Плюс заморочек с выводом цены нет.
У меня на каждый товар выводимый таким макаром 3 запроса генерятся.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
У меня на каждый товар выводимый таким макаром 3 запроса генерятся.
прекрасно, на 6 товаров в модуле делать 18 запросов!
Я не вижу проблемы в простенькой функции округления, что будет явно проще в плане нагрузки, нежели лишние запросы в таком количестве.
Но - дело хозяйское
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Я не вижу проблемы в простенькой функции округления, что будет явно проще в плане нагрузки, нежели лишние запросы в таком количестве.
Дело в том, что чтобы сформировать правильную цену необходимо знать налоговую ставку на товар, действующую скидку на товар, цену для определенной группы покупателей. Это влечет присоединение в запрос дополнительных таблиц, либо дополнительные запросы. Если есть интерес могу опубликовать здесь более-менее правильный запрос (один на товар), который, на мой взгляд выдает правильную цену, но в нем есть два недостатка - не конвертирует цену из одной валюты в другую и не выводит товары без цены.
*

Solser

  • Захожу иногда
  • 64
  • 16 / 1
1. В файле mod_virtuemart_universal.xml  ставите флажок "выводить цену со скидкой"  Да/Нет
2. В файле helper.php. Ищете в базе цену со скидкой и прописываете это поле в запросе
                                Добавляете результат запроса в массив list. Аналогично другим полям...
3. В файле /tmpl/default.php  пишете вывод перечеркнутой цены на экран. Чтобы цена была перечеркнута, используете файл стилей /files/mod_virtuemart_universal.css. В зависимости от нового флажка цена будет выводиться или нет (это тоже пишете сами).


Вот по второму пункту :" Ищете в базе цену со скидкой..". Совет , конечно, хороший, но нету в базе цены со скидкой. (Если есть, то покажите мне ,лоху, пальцем, пожалуйста). В Базе есть таблица: jos_vm_product_discount. Там есть поля:  discount_id (который мы получаем, кстати, в запросе к БД модуля, но используем , как признак-да\нет), amount (значение скидки), is_percent (1- если процент, 0- если абсолютное значение скидки). Как это все получить из БД в правильном виде и рассчитать цену со скидкой, увы не знаю. У меня не получается, ибо совсем не знаю php. Если , кто найдется толковый и сможет наконец тупо доделать эту функцию модуля, вместо советов, как это сделать, то многие думаю будут очень признательны. Модуль то действительно хороший, только возможность установки картинки "Скидка" на товаре при выводе цены без скидки вводит в полное заблуждение клиента. Какая это цена, со скидкой уже или без скидки?
*

komandor43

  • Осваиваюсь на форуме
  • 26
  • 5 / 0
Скидки задаются в магазине-> товары-> список скидок на товары. Там указывается тип скидки (абсолютная или относительная) и период действия скидки. Абсолютную скидку можно назначить прямо в карточке товара, а можно выбрать из списка.

Совершенно верно, Скидки описаны в таблице
В Базе есть таблица: jos_vm_product_discount. Там есть поля:  discount_id (который мы получаем, кстати, в запросе к БД модуля, но используем , как признак-да\нет), amount (значение скидки), is_percent (1- если процент, 0- если абсолютное значение скидки).

Нужно не забыть и учесть период действия скидки
Значение скидки берется из поля amount. Это может быть абсолютное значение или процент от основной цены. В зависимости от флага is_percent ссылка либо расчитывается либо берется ее абсолютное значение. Ну а если мы имеем цену товара и скидку, то можно элементарно вычислить цену товара со скидкой.

Вот по второму пункту :" Ищете в базе цену со скидкой..". Совет , конечно, хороший, но нету в базе цены со скидкой. (Если есть, то покажите мне ,лоху, пальцем, пожалуйста).
скидка=0;
если ((сегодня >= дата начала) и (сегодня <= дата конца))  {
      если (is_percent == 1)  скидка = цена * (amount/100)
      иначе  скидка = amount
}

 цена со скидкой = цена - скидка
*

Solser

  • Захожу иногда
  • 64
  • 16 / 1
Это всё как раз понятно. Только пробовал, не работает. " ...Значение скидки берется из поля amount...". Тоже понятно. Только как взять? Чего надо в запрос к БД прописать? У меня ошибку выдает при любом раскладе.
*

komandor43

  • Осваиваюсь на форуме
  • 26
  • 5 / 0
возможность установки картинки "Скидка" на товаре при выводе цены без скидки вводит в полное заблуждение клиента. Какая это цена, со скидкой уже или без скидки?
Тут Solser совершенно прав. Кроме того модуль не учитывает период действия скидки. Это не ошибка, это недоработка. И по идее beliyadm обязан это доделать. Заодно отфильтровать нулевые и отрицательные скидки.

Лучше всего отдельным подзапросом в цикле. Тогда у тех кто работает без скидок вообще ничего не изменится. У остальных задержки минимальные, потому что таблица скидок маленькая.

Если делать в общем запросе, то обязательно соединять через LEFT JOIN

Проверку периода и отрицательных скидок лучше делать в запросе. Так будет проще.....
« Последнее редактирование: 26.11.2009, 12:21:27 от beagler »
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Тут Solser совершенно прав. Кроме того модуль не учитывает период действия скидки. Это не ошибка, это недоработка.
Изначально модуль писался по конкретным требования для конкретного проекта, для публики сделал максимально унифицированный вариант. Предусматривать все возможные комбинации скидок, цен, валют и прочего я не собираюсь (потому что это превратит модуль в неповоротливого прожорливого монстра)
Структура модуля максимально понятна, при наличии знаний всегда можно дописать самостоятельно либо оформить по человечески коммерческий заказ на доработку мне или коллегам
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

komandor43

  • Осваиваюсь на форуме
  • 26
  • 5 / 0
Граждане! Давайте сбавим тон и начнём с того, что Пётр никому ничего не обязан :)
По моему мнению, если какая-то функция реализована, то она должна работать корректно. То, что скидки не выводятся это совершенно нормально. Заказчику для которого делался модуль это было не нужно. Но вот то, что картинка скидки выводиться даже тогда, когда действие скидки уже закончено, это недопустимо. Нужно или совсем убирать картинку, либо делать так, чтобы картинка выводилась корректно.

Цитировать
Структура модуля максимально понятна, при наличии знаний всегда можно дописать самостоятельно либо оформить по человечески коммерческий заказ на доработку мне или коллегам
С этим согласен на все 100%. И еще раз хочу выразить благодарность автору за хороший модуль!  ^-^
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
По моему мнению, если какая-то функция реализована, то она должна работать корректно. То, что скидки не выводятся это совершенно нормально. Заказчику для которого делался модуль это было не нужно. Но вот то, что картинка скидки выводиться даже тогда, когда действие скидки уже закончено, это недопустимо. Нужно или совсем убирать картинку, либо делать так, чтобы картинка выводилась корректно.
так и писать надо было максимально доступно для тупого меню, а то немного потерялся уже в последних 3-х страницах темы.
Это понял, действительно проверка на срок скидки не закладывалась, добавлю проверку
Итак на данный момент у меня следующий список:
1 - проверка на срок действия скидки
2 - если есть скидка - выводить старую цену в зачеркнутом виде и рядом новую с учетом скидки
3 - пошаманить с запросами для снижения нагрузки
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Ну может все таки 4-м пунктом будет обрезание цены до 2-х знаков ? ))))
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Ну может все таки 4-м пунктом будет обрезание цены до 2-х знаков ? ))))
так чем не устраивает либо мое видение уже заложенное в модуле либо предложенные выше решения по округлению цены?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Так я и говорю про то округление цены ) просто в дистрибутив его включить, в плане человек все-равно с шапки будет модуль скачивать, а уже потом искать решение если что то не устроит )
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Так я и говорю про то округление цены ) просто в дистрибутив его включить, в плане человек все-равно с шапки будет модуль скачивать, а уже потом искать решение если что то не устроит )
так я еще раз говорю, что этот функционал уже заложен в 1.2.3 Обрезать цену (до первой точки)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Функционал заложен, бесспорно :-)
Просто это была первая и единственная проблема, с которой я столкнулся при работе с модулем, - округление а не обрезание цены.. Как то это просто жестко получается либо обрезать, либо все знаки разряда. Вот и предложил изменить обрезание на округление в версии 1.2.4 ), не добавлять новый функционал, а именно заменить на более гибкий уже существующий.. Просто пожелание )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart не может создать мини-изображение из .jpeg-файла

Автор Nick IntegraLL

Ответов: 12
Просмотров: 6724
Последний ответ 03.04.2019, 03:28:34
от Roki37
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

Ответов: 0
Просмотров: 1400
Последний ответ 14.10.2015, 17:01:55
от AdmbVlad
mod VirtueMart featureprod редактирование

Автор vsokol

Ответов: 1
Просмотров: 1464
Последний ответ 10.04.2015, 08:07:41
от vsokol
Редактирование главной страницы VirtueMart

Автор cheni

Ответов: 13
Просмотров: 11417
Последний ответ 02.04.2015, 08:41:09
от flyingspook
Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 26407
Последний ответ 19.02.2015, 22:02:14
от kordima