Jump to content

Recommended Posts

Здравствуйте, возник такой вопрос, как можно вывести сумму товара $product['price'] , но без указания валюты?

Необходимо на последнем этапе для того, что бы клиент мог оплатить заказ через стандартную форму приема платежей яндекса ( не модуль ), соответственно из за того что подставляется кроме самой цены валюта - ( руб. ) ругается на неправильно указанную цену. Буду премного благодарен, если кто то подскажет выход из ситуации, спасибо!)

Share this post


Link to post
Share on other sites

Здравствуйте!
/admin/index.php?route=localisation/currency/edit здесь уберите символ справа у требуемой валюты

Share this post


Link to post
Share on other sites
Только что, Lazdakon сказал:

Здравствуйте!
/admin/index.php?route=localisation/currency/edit здесь уберите символ справа у требуемой валюты

 

Спасибо, но это было бы слишком просто)) таким методом валюта совсем везде отключится, а нужно вывести только цифры только в одном месте =)

Но все равно спасибо за ответ!)

Edited by donny

Share this post


Link to post
Share on other sites

А форматировать ее пробовали перед выводом в оплате? Она ж туда как-то попадает, вот в этом месте форматируйте ее в нужный вид

Share this post


Link to post
Share on other sites
Только что, baster789 сказал:

А форматировать ее пробовали перед выводом в оплате? Она ж туда как-то попадает, вот в этом месте форматируйте ее в нужный вид

 

Не совсем понимаю, может я немного неясно разъяснил)

 

Имеется страница в которой подсчитывается сумма ( условно: checkout/checkout ) - Оформление заказа.

На ней естественно выводится итоговая сумма и должна она выводиться в формате -  *** руб.

Выводится она через <?php echo $product['price'] ?>

 

Вот я и спрашиваю, возможно есть какой то код, который так же выводит эту же сумму, но без ( руб.) - только цифры,

или же возможно что то дописать, что бы в одном месте эти руб убирались... вот) причем именно в одном конкретном месте, а не на всём сайте, странице.

 

PS .. в php крайне слаб, по этому возможно ответ кроется на поверхности,)

 

Edited by donny

Share this post


Link to post
Share on other sites

@donny ну вот по совету @baster789 попробуйте в контроллере перед выводом обрезать строку со стоимостью:

$product['price'] = substr($product['price'], 0, -5);

* -5 в случае, если после числа 5 символов: пробел и "руб."

Edited by Lazdakon
  • +1 1

Share this post


Link to post
Share on other sites

Можно посмотреть как процесс заказа вылядит, а то я не совсем пойму где и как там у вас стандартная форма получается)

Share this post


Link to post
Share on other sites
17 минут назад, Lazdakon сказал:

@donny ну вот по совету @baster789 попробуйте в контроллере перед выводом обрезать строку со стоимостью:


$product['price'] = substr($product['price'], 0, -5);

* -5 в случае, если после числа 5 символов: пробел и "руб."

 

Огромнейшее приогромнейшее спасибо! -8 самое то, всё работает! =)

Edited by donny

Share this post


Link to post
Share on other sites

Прошу прощения, не хотел спамить создавая темы, но появился еще один, надеюсь последний вопрос.

 

Подскажите пожалуйста, как можно вывести эту самую сумму, которую настоили выше вывести на страницу /success, понимаю, что в контроллере нужно как то что то прописать, попытался как то так, но не угадал, заранее большое спасибо..

 

Вот что я пытался впихнуть в контроллер =)):

        if (isset($this->session->data['order_id'])) {
        $this->data['price'] = $this->session->data['price']; 
        $this->data['total'] = $this->cart->getTotal(); 
            $this->cart->clear();

 

Если вдруг окажется, что проще сделать направление клиента после нажатия на кнопку Подтвердить заказ на свою собственную страницу, а не на success, тоже очень даже подойдет..  извиняюсь за много вопросов(

 

Edited by donny

Share this post


Link to post
Share on other sites

Если проще говорить, нужно вывести в success итоговую сумму заказа, это возможно?)

Share this post


Link to post
Share on other sites

Так долго думала над решением, а всё оказалось проще чем казалось. Делюсь своим решением
Мне нужно было получить значение цены без вылюты, чтобы передать его в переменную javascript. Воспользовалась регулярными выражениями
в шалблоне  /catalog/view/theme/default/template/product

<?php
    $string = $price;
    $string = preg_replace('~[^0-9]+~','',$string);
    $string1 = $special;
    $string1 = preg_replace('~[^0-9]+~','',$string1);
    ?>

В место вывода цены пишем код

<?php if (!$special) {echo $string;} else {echo $string1;} ?>

Также это мне пригодилось для микроразметки.

 

Edited by moska

Share this post


Link to post
Share on other sites

Люди, что вы делаете? :blink: Зачем извращаться с отформатированной ценой удаляя оттуда валюту, если можно взять не отформатированную цену без валюты?

В соответствующих контроллерах ищите свою переменную с отформатированной ценой. Значение для неё будет браться из

$this->currency->format()

Первый параметр в этом вызове - это чистая цена (обычно она ещё обёрнута в подсчёт налогов). Берёте эту чистую цену и выводите отдельной переменной.

 

В случае оформления заказа это может быть не в контроллере, а в модели (тоталы рассчитываются в собственных моделях).

Share this post


Link to post
Share on other sites

Здравствуйте, подскажите пожалуйста, хочу вывести условие в карточке товара для показа гарантированной скидки от цены товара (*если цена больше *** и меньше *** то выводить ***) но в переменную $price выводится значение с валютой,пробелом и т.п. из-за этого условие не работает,как можно вывести переменную только с конечной цифрой ?

Share this post


Link to post
Share on other sites
7 часов назад, Bomber сказал:

как можно вывести переменную только с конечной цифрой ?

Прочитайте моё сообщение прямо перед вашим.

Share this post


Link to post
Share on other sites
On 8/8/2017 at 3:44 PM, Dotrox said:

Люди, что вы делаете? :blink: Зачем извращаться с отформатированной ценой удаляя оттуда валюту, если можно взять не отформатированную цену без валюты?

В соответствующих контроллерах ищите свою переменную с отформатированной ценой. Значение для неё будет браться из


$this->currency->format()

Первый параметр в этом вызове - это чистая цена (обычно она ещё обёрнута в подсчёт налогов). Берёте эту чистую цену и выводите отдельной переменной.

 

В случае оформления заказа это может быть не в контроллере, а в модели (тоталы рассчитываются в собственных моделях).


Ваш вариант не будет работать с переключением валют. Например, если цена задана в долларах , а выводится в рублях, то ваш вариант вернет на фронтенде цену в долларах, то есть ту цену, которая прописана в админке для конкретного товара.

Share this post


Link to post
Share on other sites
4 часа назад, mrcoolvip1 сказал:

Ваш вариант не будет работать с переключением валют. Например, если цена задана в долларах , а выводится в рублях, то ваш вариант вернет на фронтенде цену в долларах, то есть ту цену, которая прописана в админке для конкретного товара.

 

На такой случай у метода format есть четвёртый параметр, который отключает форматирование цены, но перерасчёт сохраняется.

Будет так:

$this->currency->format($price, $this->session->data['currency'], '', false);

 

Share this post


Link to post
Share on other sites
On 8/8/2017 at 7:06 AM, moska said:

Так долго думала над решением, а всё оказалось проще чем казалось. Делюсь своим решением
Мне нужно было получить значение цены без вылюты, чтобы передать его в переменную javascript. Воспользовалась регулярными выражениями
в шалблоне  /catalog/view/theme/default/template/product


<?php
    $string = $price;
    $string = preg_replace('~[^0-9]+~','',$string);
    $string1 = $special;
    $string1 = preg_replace('~[^0-9]+~','',$string1);
    ?>

В место вывода цены пишем код


<?php if (!$special) {echo $string;} else {echo $string1;} ?>

Также это мне пригодилось для микроразметки.

 

Сработало для микроразметки. Но 435.00 долларов превратились в 43500. Не подскажете, как разделить в вашей схеме точкой доллары и центы?

On 8/8/2017 at 7:06 AM, moska said:

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By donny
      Здравствуйте, возникла необходимость на странице "Спасибо. Ваш заказ оформлен" ( "/success ) , вывести номер заказа и итоговую цену.
      Подскажите пожалуйста, что необходимо сделать для выполнения хотя бы одного из пунктов? К сожалению для версии 2.3 решений не нашел, а варианты решения данной задачи для предыдущих версий - к последней не подходят =( Заранее огромное спасибо.
    • By EvoMedia
      А нужно это для обертывания копеек в <sup> :-)
    • By dm82
      подскажите пожалуйста, как в 1.5.4.1
      вывести цену без нулей?
       
      в файле
      catalog\model\checkout\order.php
       
      в // Admin Alert Mail
       
      правлю вывод цены и суммы, надо чтобы выводилось 100 вместо 100 грн
       
      для этого, код
      html_entity_decode($this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8') меняю на просто
      $product['total'] получается вместо 100 грн - 100.0000
       
      как сделать просто 100 ?
       
      в php не силен, думаю должно быть какая-то функция форматирования или вида.. кол-ва знаков после запятой..
       
      спасибо за помощь. хорошо если можно это сделать силами php, без изменений в БД..
       
       
       
       
       
       
    • By Tatra
      Дело в том, что очень нужно очень много добавлять рекламных статей очень подробно описываемых товар и ссылаться только на одну страничку с самим товаром,  ценой и кнопкой купить.
      Вот хочу установить еще такой же магазин в другой дерриктории основного сайта, но в нем отключить вывод цены на товар, а также кнопку купить. Ну а в самих таких рекламных страницах (без кнопок купить и ценой) просто написать ссылку на ту страницу где уже можно купить непростредственно этот товар. Второй такой магазин будет только для рекламы, но при нажатии ссылки клиент будет попадать в первый магазин где можно купить товар.
      К сожалению в обычно установленном магазине добавление внизу статей не складывается в иерархию раскрываемых папок по темам и создание в футере скажем к примеру 100 различных статей их внизу вызывет черезмерное увеличение размера страниц я имею ввиду к примеру там где по умолчанию сразу есть страницы: Информация, Информация о доставке, Политика Безопасности, Служба поддержки и так далее.

       
    • By CongoG
      Здравствуйте друзья, помогите!
      Не могу понять как толком вывести цену как в product в файл affiliate/tracking
      Что нужно поставить в файл Контролера
      и что нужно поставить в файл шаблона
      Хотел сам выдернуть с файлов продукта но без знаний ни в какую....
      Надеюсь на помощь!
      Заранее огромное спасибо!
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.