Змусити магазин Virtuemart використовувати інший шаблон на відміну від решти частини сайту.

Занадто багато комерційних шаблонів перевантажені наворотами, через які вони повільно завантажуються.

І як і всі ефекти здійснюються за допомогою ява-скрипту завжди є ризик конфлікту з js залежними сторонніми компонентами, такими як VirtueMart.

Люди часто використовують шаблони під Joomla/Virtuemart, тому що вони не знають , як будувати свої власні макети або стилі.

Моментом, який ми спостерігали дуже часто є те, що люди купують шаблони, призначені для конкретної версії Virtuemart, і коли вони оновлюють VirtueMart шаблон ламається.

Більшість провайдерів шаблонів допомагають, надаючи оновлення, але, деякі, зокрема, не надають підтримку після продажу взагалі.

Так що якщо ви збираєтеся використовувати сторонні Joomla/Virtuemart шаблон, зробіть в першу чергу свою домашню роботу.

В принципі чіткий і інформативний магазин, що швидко завантажується і має зручну навігацією має бути більш успішним при продажах.

Звичайно, ви стилізуєте сайт, щоб він відповідав змісту і цільовій аудиторії, і Virtuemart має ту перевагу, що в ньому порівняно легко змінювати планування і стиль шляхом простих перевизначень.

Я часто використовую комерційні шаблони, так як клієнти зазвичай мають гарне уявлення про те, як сайт повинен виглядати і дуже часто визначилися з вибором шаблону.

Для Virtuemart мета, як правило, щось просте в макеті і такі шаблони я купую.

Але не ті, що розроблені спеціально для VirtueMart, так як я завжди додаю мої власні шаблони перевизначень.

Як правило, шаблони вибираються тому, що їх легко піддати рестайлінгу, щоб підігнати під клієнта / товари.

І, звичайно, як правило, вони вже гумові, так що будуть відображатися також і на мобільних пристроях.

З причин, пов'язаних з авторськими правами, форум VirtueMart Україна не може забезпечити підтримку

від Третіх осіб/Комерційних

АБО

для Joomla/VirtueMart :

  • шаблонів/тем, перевизначеннь шаблонів, Artisteer шаблонів,
  • модулів,
  • плагінів,

і т.ін.

Якщо ми не використовуємо точну копію цього шаблону або розширення, ми не знаємо, що за код або які зміни коду або перевизначень розробник вніс в стандартну функцію і макет Virtuemart.

Таким чином підтримка для цього має бути отримана від стороннього розробника або через його

  • власний форум
  • систему тікетів, або
  • по електронній пошті.

Це включає в себе розширення, поширювані за ліцензією GNU General Public License і подібних їй, коли розробник використовує службу підтримки передплатників, щоб покрити свої витрати на розробку.

Якщо розробник має тему в розділі форуму для розширення від третіх осіб, то ви можете запитати там.

При можливості добровольці на форумі порадять, де може бути отримана підтримка таких продуктів.

Зверніть увагу, що, якщо ви розмістите на форумі код комерційні доповнень, ви можете порушити авторські права розробника.

Щоб відобразити значення ціни для різних цін з метою виконати свої власні перевірки "if" - і тому подібне

Щоб відобразити вихідне значення ціни, ви просто використовуйте цей код (для salesprice на сторінці подробиць товару) :

  • <?php echo $this->product->prices['salesPrice']; ?>

І на сторінці категорії товарів:

  • <?php echo $product->prices['salesPrice']; ?>

Якщо ви, приміром, хочете, відобразити значення знижки , ви просто використовуйте "discountAmount" замість "salesPrice".

Ви можете застосувати всі види правил та умов, наприклад, для відображення відсоткової знижки за певних умов і так далі.

При відображенні цін в такому вигляді, ви отримуєте відображення вихідного значення, іншими словами число буде показано без правил форматування.

Хоча ви можете легко застосувати свій власний формат, слідуючи наступних прикладів (взято з http://php.net/manual/en/function.number-format.php) ;

<?php
$number = 1234567.896;
echo '1: '.number_format($number, 2, ',', '').'<br>';
echo '2: '.number_format($number, 2, '.', '').'<br>';
echo '3: '.number_format($number, 2, ',', '.').'<br>';
echo '4: '.number_format($number, 2, '.', ',').'<br>';
echo '5: '.number_format($number, 2, ',', ' ').'<br>';
echo '6: '.number_format($number, 2, ',', "'").'<br>';
echo '7: '.number_format($number, 2, '', '').'<br>';
?>

результат :

1: 1234567,90 -> Десяткова кома
2: 1234567,90 -> Десяткова крапка
3: 1.234.567,90 -> Бразилія
4: 1,234,567.90 -> США
5 : 1234 567,90 -> Франція
6 : 1'234'567 , 90 -> Швейцарія
7 : 123456790 -> Недесяткове

Щоб відобразити salesprice на сторінці подробиць товару з числовим форматом "Бразилія" :

<?php  echo number_format($this->product->prices['salesPrice'], 2',''.');  ?>

Якщо ваше початкове значення товару salesprice є 2999.95499999 то результатом буде = 2.999,95

  • costPrice
  • basePrice
  • basePriceVariant
  • salesPriceTemp
  • discountAmount
  • priceWithoutTax
  • DBTax
  • Tax
  • VatTax
  • DATax

це

  • salesPriceTemp

є тимчасовою ціною для подальших змін. Для прикладу використовується в настроюваних полях і т.д. Однак ви не зможете використовувати його без певної модифікації, тому що воно оновлюється за допомогою js-recalculate.

Я редагував default_pricelist.php для показу податку на товар.

  • $this->currencyDisplay->createPriceDiv('','', $this->cart->pricesUnformatted[$pkey]['priceBeforeTax'],false,false,$prow->quantity);
  • У шаблоні категорії $ product-> викликає змінні, створені для сторінки/представлення категорії.
  • У шаблоні товару $ this-> викликає змінні, створені для сторінки/представлення товару.

На сторінці категорії

виклик назви товарів робиться так

<?php echo $product->product_name ?>

Тому у нас є $product, а не $this->product

На сторінці товару

виклик назви товару робиться так

<?php echo $this->product->product_name ?>

тому що є тільки один доступний товар.

  • Змінні товару викликаються на сторінці категорії з $product->
  • Змінні товару викликаються на сторінці товару з $this->

Приклад

Показати картинку на сторінці товару, коли товар не доступний для продажу.

<div style="padding:5px;">

<a><?php if ($this->product->product_in_stock == 0) {echo "<img src='http://mysite/images/red2.png' non disponibile' on-click=\"javascript:window.open('/legenda.html','legenda',')\"";} 
                
?>
</a>
</div>

Змінні товару викликаються на сторінці категорії з $product-> а НЕ з $this->

Для сторінки категорії буде змінено

$ this-> на $ product->

<div style="padding:5px;">
<a><?php if ($product->product_in_stock == 0) {echo "<img src='http://mysite/images/red2.png' non disponibile' on-click=\"javascript:window.open('/legenda.html','legenda',')\"";} 
                
?>
</a>
</div>