Обсуждение JoomShopping

В пхп не силен, поэтому найти код цены и умножить это правильно и что бы все работало я не умею
Я сам только основы почитал, но вот вам решение:

1. Открыть файл /templates/ВАШ_ШАБЛОН/html/com_jshopping/product/product_default.php
2. Найти строку:
Код:
<div class="prod_price">
     <?php print _JSHOP_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></span>
</div>
3. Если не нашли, ищите строку с этой конструкцией:
Код:
formatprice($this->product->getPriceCalculate())
4. Найденный блок (весь блок DIV) нужно скопировать и вставить там же, чтобы было два одинаковых блока.
5. Потом в нужном блоке (в первом или во втором, там где вы хотите чтобы была старая цена) :
- меняем надпись: <?php print _JSHOP_OLD_PRICE?>
- умножаем цену на 10000: formatprice($this->product->getPriceCalculate() * 10000)
6. Итого, если старая цена первая, получится следующий код:
Код:
<div class="prod_price">
     <?php print _JSHOP_OLD_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate() * 10000)?><?php print $this->product->_tmp_var_price_ext;?></span>
</div>
<div class="prod_price">
     <?php print _JSHOP_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></span>
</div>

Аналогично можно поступить с выводом старой цены, также сделать его в двух вариантах, в старом и новом.
 
Я сам только основы почитал, но вот вам решение:

1. Открыть файл /templates/ВАШ_ШАБЛОН/html/com_jshopping/product/product_default.php
2. Найти строку:
Код:
<div class="prod_price">
     <?php print _JSHOP_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></span>
</div>
3. Если не нашли, ищите строку с этой конструкцией:
Код:
formatprice($this->product->getPriceCalculate())
4. Найденный блок (весь блок DIV) нужно скопировать и вставить там же, чтобы было два одинаковых блока.
5. Потом в нужном блоке (в первом или во втором, там где вы хотите чтобы была старая цена) :
- меняем надпись: <?php print _JSHOP_OLD_PRICE?>
- умножаем цену на 10000: formatprice($this->product->getPriceCalculate() * 10000)
6. Итого, если старая цена первая, получится следующий код:
Код:
<div class="prod_price">
     <?php print _JSHOP_OLD_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate() * 10000)?><?php print $this->product->_tmp_var_price_ext;?></span>
</div>
<div class="prod_price">
     <?php print _JSHOP_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></span>
</div>

Аналогично можно поступить с выводом старой цены, также сделать его в двух вариантах, в старом и новом.
Но тогда будут обе цены с кодом BYN, а надо, что бы новая цена была с кодом BYN, а старая с BYR (так как это получаются разные валюты и обозначения у них разные)
 
Можно через CSS поменять на BYR.

В файле lib/default_config.php установите:
$config->formatprice_style_currency_span = 1;
тогда вывод валюты будет таким:
<span class="currencycode">BYN</span>

Теперь блоку вывода старой цены вместо class="prod_price" задайте например class="old_price" и пропишите в CSS:
.old_price .currencycode {display: none;}

А прямо в product_default.php пропишите BYR.
В итоге вот так должно выглядеть:
PHP:
<div class="old_price">
     <?php print _JSHOP_OLD_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate() * 10000)?><?php print $this->product->_tmp_var_price_ext;?></span>BYR
</div>
 
Можно через CSS поменять на BYR.

В файле lib/default_config.php установите:
$config->formatprice_style_currency_span = 1;
тогда вывод валюты будет таким:
<span class="currencycode">BYN</span>

Теперь блоку вывода старой цены вместо class="prod_price" задайте например class="old_price" и пропишите в CSS:
.old_price .currencycode {display: none;}

А прямо в product_default.php пропишите BYR.
В итоге вот так должно выглядеть:
PHP:
<div class="old_price">
     <?php print _JSHOP_OLD_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate() * 10000)?><?php print $this->product->_tmp_var_price_ext;?></span>BYR
</div>
А при обновлении Joomshoping такие изменения не слетят?
 
Ну product_default.php обычно все переделывают под себя и сохраняют под другим названием.
default_config.php меняется периодически не так чтоб часто, но вам там одну циферку поменять, на 5 сек делов то. Да и решение временное же, через пару месяцев удалите все и забудете, оставите только один BYN.
 
Ну product_default.php обычно все переделывают под себя и сохраняют под другим названием.
Незачем это делать, если файл править в шаблоне (если его нет, то создать), то при обновлении ничего не затрется, но нужно будет отслеживать изменения в оригинальном файле (может какие исправления/дополнения будут). И как вы представляете себе сохранение файла под другим названием? По вашему все будет работать без дополнительных правок?
 
Ну почему незачем, одно другому не мешает. Вы можете создать шаблон, но внутри одного шаблона выводить разными макетами товары.
И как вы представляете себе сохранение файла под другим названием? По вашему все будет работать без дополнительных правок?
Конечно будет. В названии файла даже подсказка product_default.php меняете default на любое другое, в той же папке сохраняете и потом при создании товара выбираете его. Например у вас для шкафов будет сделан product_shkaf.php, а для столов product_stol.php и у них верстка например разная будет.
Тоже самое и с категориями кстати можно проделывать, как раз тут тема была я там тоже отписал свой метод.
 
  • Нравится
Реакции: Jimm
еще в настройках системы оплаты есть поле Описание в счете
неужели никак нельзя приспосодить эти поля под свои нужды?
А как это поле Описание в счете вывести непосредственно в письме, чтобы его этот файл выводил /templates/default/checkout/orderemail.php ? Или такое невозможно?
 
А как это поле Описание в счете вывести непосредственно в письме, чтобы его этот файл выводил /templates/default/checkout/orderemail.php ? Или такое невозможно?
а не проще ли просто в этом файле статично прописать нужный хтмл код с вашими данными?
хотя можно заморочиться и так
вам нужно взять конфиг джумшопа и вывести в письме нужную переменную конфига. я сейчас в отъезде, поэтому конкретно подсказать не могу
 
Вся загвоздка что этот статичный код надо как-то привязать к способу оплаты, чтобы он выводился только когда клиент именно этот способ выбирает. Например, выбрал "оплату по реквизитам", и ему эти реквизиты пришли в письме в самом заказе. Но я не кодер поэтому для меня это темный лес. Я просто думал там как то можно вытащить готовую строчку кода которая в PDF-счете выводит поле Описание в счете и вставить ее в orderemail.php. Но если там не все так просто, то заморачиваться не стоит, вопрос снят тогда. Проще тогда этот самый PDF-счет присылать с письмом.
 
Назад
Сверху