Jump to content
alinalessioYandex

[Решено] Как вписать в поле "Цена" слово "Договорная"?

Recommended Posts

Собственно весь вопрос в заголовке.

Хочу на некоторые товары вместо цены писать слово "договорная" Как это сделать? Но цена указывается для каждой опции отдельно. Т.е. Есть опции, для которых цена есть, а для других опций цена договорная. Есть мысли как это сделать?

Share this post


Link to post
Share on other sites

пол-форума засыпано вопросом "как выводить свой текст при цене 0".

Share this post


Link to post
Share on other sites

пол-форума засыпано вопросом "как выводить свой текст при цене 0".

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

Share this post


Link to post
Share on other sites


?php if ($price&&$price>0)

Цена

?php } else {

Договорная

?php } ?

Share this post


Link to post
Share on other sites

а еще было бы здорово, если бы для "чайников" файл написали, куда можно строчки добавить.

Share this post


Link to post
Share on other sites

Место чайникам на плите.Это  подсказка для тех кто может принять к сведению и сделать по аналогии.А вам придётся тут полотно расписать,что и куда.А потом ещё такое же  после  стандартной фразы "Ну вставил  я и у меня ничё не поменялось"......

Share this post


Link to post
Share on other sites

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

 

P.S.: где-то на форуме кто-то русское сообщество ОС хвалил, а с моей колокольни оно так и пышет радушием к новичкам...видимо, что бы успешнее cms развивалась и набирала популярности, привлекая в свои ряды все новых и новых пользователей :)

Share this post


Link to post
Share on other sites

Не путайте божий дар и яичницу.

Помочь могут с тем что изначально есть в опенкарт.С тем что относится к разряду "хотелок", нужны или минимальные знания или минимальные суммы.

 

а с моей колокольни оно так и пышет радушием к новичкам...видимо, что бы успешнее cms развивалась и набирала популярности, привлекая в свои ряды все новых и новых пользователей

 

 

можно считать как удобней вам лично.

 

Ответ на ваш вопрос в полном обьёме написан выше.

Share this post


Link to post
Share on other sites

Согласна с Вами, Tom, каждый может считать по-своему. Так вот сразу и поняла, развитие cms и есть в том, что бы гуру ограничивались помощью в установке уже созданного.

 

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

Share this post


Link to post
Share on other sites

Если есть минимальные знания HTML хотя бы , то я приведу пример  на одной из страниц.

 

catalog\view\theme\default\template\product\category.tpl

 

найти

<?php if ($product['price']) { ?>

заменить  на 

<?php if ($product['price']&&$product['price']>0)) { ?>

див с ценой обернуть в то условие что я написал выше.

 

В итоге товар с нулевой ценой будет подменяться тем, что вы укажите в условии.

 

Во всех модулях сделать по аналогии.

Share this post


Link to post
Share on other sites

Спасибо Вам! В product.tpl поставила Ваш код и все заработало, в category.tpl  поставила, сначала выдало синтаксическую ошибку с лишней скобкой, убрала. После этого продукты появились, но цены везде стали договорными, а в категории они исчезли :(

 

 

<?php if ($product['price']&&$product['price']>0) { ?>
   <div class="price">
        <?php if (!$product['special']) { ?>
        <?php echo $product['price']; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
        <?php } ?>
        <?php if ($product['tax']) { ?>
        <br />
        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
        <?php } ?>
      </div>
<?php } else { ?> 
<b>ЦЕНА ДОГОВОРНАЯ </b> 
<?php } ?>
 
 
 
и в корзину стал добавляться товар со стоимостью 0 руб, который можно оформить теоретически, а практически совсем нежелательно.

Share this post


Link to post
Share on other sites

Именно об этом я и писал.....

 

А вам придётся тут полотно расписать,что и куда.А потом ещё такое же  после  стандартной фразы "Ну вставил  я и у меня ......

 

Share this post


Link to post
Share on other sites

И на том спасибо!

Share this post


Link to post
Share on other sites

[РЕШЕНО]
 
Решение от mpn2005. (Все плюсики ему :) )

 

Используется модуль Обновление цены при выборе опции

 

В файле \vqmod\xml\autocalc_price_option_v2.0.18.xml

найти строку:

$('#formated_price').html( price_format(main_price_start) );

и заменить на:

if (main_price_start == 0) {
    $('#formated_price').html('Договорная');
} else {
    $('#formated_price').html( price_format(main_price_start) );
}

Share this post


Link to post
Share on other sites

Добавлю своё слово.

в category.tpl использую такой код.

             <a href="<?php echo $product['href']; ?>"?>
              <div class="button-group">
                <?php if ($product['price']&&$product['price']>0) { ?>
                <p class="price">
                  <?php if (!$product['special']) { ?>
                  <?php echo $product['price']; ?><?php } else { ?>
               <span class="price-old"><?php echo $product['price']; ?></span><br><span class="price-new"><?php echo $product['special']; ?></span><?php } ?><?php echo $product['ean']; ?><sup><?php echo $product['jan']; ?></sup>
                </p>
                <?php } else { ?> 
              <p class="price"><?php echo $text_price_none; ?></p> 
                <?php } ?>
              </div>
              </a>

в product.tpl (рекомендуемое)

             <a href="<?php echo $product['href']; ?>"?>
              <div class="button-group">
                <?php if ($product['price']&&$product['price']>0) { ?>
                <p class="price">
                  <?php if (!$product['special']) { ?>
                  <?php echo $product['price']; ?><?php } else { ?>
                <span class="price-old"><?php echo $product['price']; ?></span><br><span class="price-new"><?php echo $product['special']; ?></span><?php } ?><?php echo $ean; ?><sup><?php echo $jan; ?></sup>
                </p>
                <?php } else { ?> 
              <p class="price"><?php echo $text_price_none; ?></p> 
                <?php } ?>
              </div>
              </a>

не забываем подключить в папках controller и  language нашу переменную...  в некоторых случаях ещё нужно будет так же затронуть папку model... 

не буду расписывать на много строк где и что, выше уже давали наводки и пути... 

 

А вот это для самой карточки товара.

          <?php if ($price&&$price>0) { ?>
          <ul class="list-unstyled">
            <?php if (!$special) { ?>
            <li>
              <h2><?php echo $price; ?> <?php echo $ean; ?><sup><?php echo $jan; ?></sup></h2>
            </li>
            <?php } else { ?>
            <li class="tooold"><h4><span class="discount_price"><?php echo "Старая цена:"; ?></span> <span style="text-decoration: line-through;"><?php echo $price; ?><?php echo $ean; ?><sup><?php echo $jan; ?></sup></span></h4></li>
            <li>
            <h2><span class="discount_price"><?php echo "Цена по акции:"; ?></span> <?php echo $special; ?><?php echo $ean; ?><sup><?php echo $jan; ?></sup></h2>
            </li>
            <?php } ?>
            <?php if ($discounts) { ?>
            <li>
              <hr>
            </li>
            <?php foreach ($discounts as $discount) { ?>
            <h4><li><span class="discount_price"><?php echo "Цена за:"; ?></span> <?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?><?php echo $ean; ?><sup><?php echo $jan; ?></sup></li></h4>
            <?php } ?>
            <?php } ?>
          
          <?php } else { ?>  
              <p class="twoname"><?php echo $text_price_none; ?></p> 
          <?php } ?>
</ul>

Share this post


Link to post
Share on other sites
В 13.05.2015 в 21:27, alinalessioYandex сказал:

[РЕШЕНО]
 
Решение от mpn2005. (Все плюсики ему :) )

 

Используется модуль Обновление цены при выборе опции

 

В файле \vqmod\xml\autocalc_price_option_v2.0.18.xml

найти строку:


$('#formated_price').html( price_format(main_price_start) );

и заменить на:


if (main_price_start == 0) {
    $('#formated_price').html('Договорная');
} else {
    $('#formated_price').html( price_format(main_price_start) );
}

Так понимаю это решение для цены только на странице товара ? в цену на странице списка товаров не выходит запись

Share this post


Link to post
Share on other sites

Это решение для дополнения "Пересчёт цены при выборе опции".Топику почти год.Пишите что именно вам нужно,что сделано и что не получается.

 

 

Share this post


Link to post
Share on other sites
В 27.04.2015 в 15:31, Tom сказал:

?php if ($price&&$price>0)

Цена

?php } else {

Договорная

?php } ?

 

В 28.04.2015 в 19:54, Tom сказал:

Если есть минимальные знания HTML хотя бы , то я приведу пример  на одной из страниц.

 

catalog\view\theme\default\template\product\category.tpl

 

найти


<?php if ($product['price']) { ?>

заменить  на 


<?php if ($product['price']&&$product['price']>0)) { ?>

див с ценой обернуть в то условие что я написал выше.

 

В итоге товар с нулевой ценой будет подменяться тем, что вы укажите в условии.

 

Во всех модулях сделать по аналогии.

ocstore 1.5.5.1.2. c Univer Установлен autocalc_v2.0.18_multicurrency_by.xml

в category.tpl вставил стараясь придерживаться инструкции (на сколько хватает понимания))

 

<?php if ($product['price']&&$product['price']>0) { ?>
<?php if ($price&&$price>0) { ?>
      <div class="price">
        <?php if (!$product['special']) { ?>
       <?php echo $product['price']; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
        <?php } ?>
        <?php if ($product['tax']) { ?>
        <br />
        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
        <?php } ?>
      </div>
<?php } else { ?>
Договорная
<?php } ?>
      <?php } ?>

 

и цены исчезают как тени в полдень (

 

есть еще рабочее решение добавить текст через /system/library/curruncy.php

 

if ($format && (int)$value == 0) {

        return $this->language->get('text_zero');

}
        $string = '';

 

но хочется опробовать через category.tpl и product.tpl 

 

Share this post


Link to post
Share on other sites
?php if ($price&&$price>0)

это только для карточки товара

вот второе значение именно для страницы категории

 

<?php if ($product['price']&&$product['price']>0) { ?>

так же можно обыграть это в контроллере категории ,что бы не зависеть от используемого шаблона.

Share this post


Link to post
Share on other sites

Здравствуйте! Нечто похожий вопрос: как можно до цены дописать текст "Цена за кв.м.: " в карточке товара. Прошу помощи. Спасибо!

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.


  • 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.