Jump to content


Photo
- - - - -

Изменение цены в зависимости от выбора диаметра пиццы


Best Answer Cheren-dow , 27 October 2014 - 16:07

Я же упоминал, что не разбираюсь в PHP и додумывать ничего не могу.  Что конкретно нужно сделать, чтобы это заработало?

Попробуйте вставить следующий код

$html[4] = $jbhtml->radio($paramsList, uniqid('jbprice-'), '', $value, false, false, false); 
Go to the full post


  • This topic is locked This topic is locked
18 replies to this topic

#1 Save Tibet

Save Tibet
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 21 October 2014 - 16:03

Делаю небольшой сайт-каталог фастфуда (без корзины и оплаты). Помимо наименований с единичной ценой (сэндвичи, роллы и т.д.) есть пицца с двумя размерами — 22 и 40 см — и, соответственно, с разной ценой. 

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


  • 0

#2 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 21 October 2014 - 18:00

Алексей Рузов, вариации цен пробовали использовать? 


  • 0
Изображение
 

#3 Save Tibet

Save Tibet
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 21 October 2014 - 18:14

Да, пару часов покопался, вроде разобрался с вариантами. Теперь такой вопрос возник — как убрать кнопку корзины? Да, я знаю, что есть в настройках такая опция "показать только цену", но при таком раскладе будет отображаться только начальная цена, а в случае с пиццами это не вариант.

 

И сразу же еще вопрос: сейчас цена выглядит как 43,00 р. Где изменить шаблон вывода, чтобы она отображалась как 43 *, где "*" — установленный знак рубля. 


  • 0

#4 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 21 October 2014 - 18:33

Теперь такой вопрос возник — как убрать кнопку корзины?

Можете ее удалить в соответствующем шаблоне

сайт\media\zoo\applications\jbuniversal\elements\jbpriceadvance\tmpl

И сразу же еще вопрос: сейчас цена выглядит как 43,00 р

Убрать нули можно поправив файл  

сайт\media\zoo\applications\jbuniversal\config\jbcurrency.xml

чтобы она отображалась как 43 *, где "*" — установленный знак рубля. 

Это можно сделать только своими силами используя CSS ? дополнительный шрифт. Нашел 1 тему на форуме.


  • 0
Изображение
 

#5 Save Tibet

Save Tibet
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 21 October 2014 - 19:20

Можете ее удалить в соответствующем шаблоне

 

В каком конкретно файле? У меня стоит комплексный шаблон. Судя по всему, это tmpl_default.php, но я не нашел где там можно отключить корзину. 


Убрать нули можно поправив файл  

 

Как? 


  • 0

#6 Save Tibet

Save Tibet
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 21 October 2014 - 19:31

Кстати, странно, что редактирование вида цены не предусмотрено в настройках элемента в админке. Вот в xml–файле я вижу параметры, которые по идее должны выводиться в настройки. А их нет.

<formatlist>
        <format_1  decimals="2" dec_point="." thousands_sep=" "/>   <!-- 1 000 000.00  -->
        <format_2  decimals="2" dec_point="," thousands_sep=" "/>   <!-- 1 000 000,00  -->
        <format_3  decimals="2" dec_point="." thousands_sep=""/>    <!-- 1000000.00  -->
        <format_4  decimals="2" dec_point="," thousands_sep=""/>    <!-- 1000000,00  -->
        <format_5  decimals="0" dec_point=""  thousands_sep=" "/>   <!-- 1 000 000  -->
        <format_6  decimals="0" dec_point=""  thousands_sep=""/>    <!-- 1000000  -->
        <format_7  decimals="2" dec_point="." thousands_sep=","/>   <!-- 1,000,000.00  -->
        <format_8  decimals="2" dec_point="," thousands_sep="."/>   <!-- 1.000.000,00  -->
        <format_9  decimals="2" dec_point="." thousands_sep=", "/>  <!-- 1,000,000.00  -->
        <format_10 decimals="2" dec_point="-" thousands_sep=" "/>   <!-- 1 000 000-00  -->
        <format_11 decimals="2" dec_point=";" thousands_sep=" "/>   <!-- 1 000 000;00  -->
        <format_12 decimals="2" dec_point="." thousands_sep="'"/>   <!-- 1'000'000.00  -->
        <format_13 decimals="0" dec_point=""  thousands_sep=","/>   <!-- 1,000,000  -->
        <format_14 decimals="0" dec_point=""  thousands_sep="."/>   <!-- 1.000.000  -->

        <default   decimals="2" dec_point="." thousands_sep=" "/>   <!-- 1 000 000,00  -->
    </formatlist>

  • 0

#7 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 21 October 2014 - 19:54

Кстати, странно, что редактирование вида цены не предусмотрено в настройках элемента в админке. Вот в xml–файле я вижу параметры, которые по идее должны выводиться в настройки. А их нет.

Для своей валюты укажите нужную цифру формата format="2"

<rub value="49.7435"  prefix=""	    postfix=" р."	major="ruble"	   minor="kopeck"	format="2"/>

Можете добавить свой формат если нет подходящего.


В каком конкретно файле? У меня стоит комплексный шаблон. Судя по всему, это tmpl_default.php, но я не нашел где там можно отключить корзину. 

Шаблон вывода кнопок это

сайт\media\zoo\applications\jbuniversal\elements\jbpriceadvance\tmpl\_buttons.php

  • 0
Изображение
 

#8 Save Tibet

Save Tibet
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 22 October 2014 - 11:31

Ок. С этим разобрался. Спасибо.

 

Возникла еще одна задача — вместо радиокнопок выбора вариантов цен необходимо сделать кнопки. Где и как нужно переписать шаблон?

 

Вот ссылка на сайт

 

Вот пример кнопок, какие я хочу (см. раздел Radiobuttons)


Edited by Алексей Рузов, 22 October 2014 - 11:33.

  • 0

#9 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 22 October 2014 - 16:14

Алексей Рузов, формирование радио кнопок происходит в файле

сайт\media\zoo\applications\jbuniversal\elements\jbpriceadvance\jbpriceadvance.php

А именно

if (self::PARAMS_TMPL_SELECT == $paramsTmpl) {
	$html[4] = $jbhtml->select($paramsList, uniqid('jbprice-'), 'class="jsParamDesc" data-index="d-"');
	$html[4] = '<div class="jbprice-param-select jbprice-param-list jbprice-param-list-desc">' . $html[4] . '</div>';

} else if (self::PARAMS_TMPL_RADIO == $paramsTmpl) {
	$paramName = JString::trim($paramsList[''], '-');
	if (!$advShowEmpty) {
		unset($paramsList['']);
	}

	reset($paramsList);
	$value = key($paramsList);

	$html[4] = $jbhtml->radio($paramsList, uniqid('jbprice-'), '', $value);
	$html[4] = '<fieldset class="jbprice-param-radio jbprice-param-list jbprice-param-list-desc" data-index="d-">'
		. '<legend>' . $paramName . '</legend>'
		. $html[4]
		. '</fieldset>';
}

Радио кнопки формируются с помощью HTML хелпера 

$jbhtml->radio($paramsList, uniqid('jbprice-'), '', $value);

Если у вас есть знания в PHP можете создать свой хелпер который выводил бы уже кнопки. Советую вам прочитать API о хелперах


  • 0
Изображение
 

#10 Save Tibet

Save Tibet
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 510
  • topics: 75

Posted 22 October 2014 - 17:01

Увы, php не владею. Могу редактировать только html/css, а вот разобраться в php, чтобы найти эти места, не могу.


  • 0




Click to return to top of page in style!