Перейти к содержимому


Фотография
- - - - -

Автодобавление комментария к цене


Лучший Ответ Sliapy , 27 November 2013 - 22:15

У квартир есть уникальный класс jbzoo-item-flat, а у земли jbzoo-item-land. Соответственно и селектор в CSS должен быть вида

.jbzoo-item-land .jbprice-price .total:after {
content: " в год";
}
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 6

#1 An1hony

An1hony

Отправлено 26 November 2013 - 22:52

Помогите с реализацией, плз. Необходимо сделать так, чтобы в шаблоне full определенного типа item сразу после цены выводился коммент "в год". Вот, как надо:

vgod.png

 

Уже проделывал подобную хитрость с другими элементами, например, списком характеристик. Создавал отдельную позицию "sotok". В файле full.php добавлял код

<?php if ($this->checkPosition('sotok')) : ?>
<div class="metrika">
    <?php echo $this->renderPosition('sotok', array('style'=>'listsotka')); ?>
</div>
<?php endif; ?>

Ну и создавал файл listsotka.php в папке www/media/zoo/applications/jbuniversal/templates/catalog/renderer/element с следующим содержимым:

<?php
/**
* @package   com_zoo
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

// create label
$label = '';
if (isset($params['showlabel']) && $params['showlabel']) {
	$label .= '<strong>';
	$label .= ($params['altlabel']) ? $params['altlabel'] : $element->config->get('name');
	$label .= ': </strong>';
}

// create class attribute
$class = 'element element-'.$element->getElementType().($params['first'] ? ' first' : '').($params['last'] ? ' last' : '');

?>
<li class="<?php echo $class; ?>">
	<?php echo $label.$element->render($params).' а'; ?>
</li>

Вот в предпоследней строчке ' а' отвечает за вывод комментария сразу после значения, Вот:

vgod2.png

 

Попробовал проделать такой же фокус с элементом price, но комментарий все время начинается с новой строчки:

vgod3.png

 

Что я в этом случае делаю не так? 

И еще: может легче будет поменять местами лейбл и параметр? И настройках просто в альтернативной метке прописать "в год"? Но тогда как это сделать в этом куске кода?

<li class="<?php echo $class; ?>">
	<?php echo $label.$element->render($params).' в год'; ?>
</li> 

  • 0

#2 Sliapy

Sliapy

Отправлено 26 November 2013 - 23:11

Можно через CSS:

.jsTotal.total:after {
content: " в год";
}

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 An1hony

An1hony

Отправлено 27 November 2013 - 10:02

ок, но если у меня есть несколько категорий итемов в одном каталоге, в одном типе после цены надо дописывать "в год", в другом - "в месяц", а в третьем ничего не дописывать. Ваше решение будет прописывать "в год" во всех типах, так как класс "jsTotal total" один для всех.

 

Где в таком случае можно назначать класс цены для разных типов элементов?


  • 0

#4 Sliapy

Sliapy

Отправлено 27 November 2013 - 10:27

У всех материалов есть уникальный класс, содержащий алиас типа материала.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 An1hony

An1hony

Отправлено 27 November 2013 - 22:11

Я вас не совсем понял.

 

Смотрите, у меня есть два типа item: квартира (алиас: flat) и земля (алиас: land).

Допустим, что весь элемент цены в шаблоне full для квартиры я обернул в <div class="price-flat">, а для земли - в <div class="price-land">.

 

Теперь, когда я в css добавляю след. строчки

.jbzoo .jbprice-price .total:after {
content: " в год";
}

мне вот эти слова " в год" дописываются к цене и в квартиру, и в землю.

 

А как нужно прописать, чтобы эти слова дописывались к цене только для земли?


  • 0

#6 Sliapy

Sliapy

Отправлено 27 November 2013 - 22:15   Лучший Ответ

У квартир есть уникальный класс jbzoo-item-flat, а у земли jbzoo-item-land. Соответственно и селектор в CSS должен быть вида

.jbzoo-item-land .jbprice-price .total:after {
content: " в год";
}

Сообщение отредактировал Sliapy: 27 November 2013 - 22:15

  • 1
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#7 An1hony

An1hony

Отправлено 27 November 2013 - 22:22

Теперь понял, все получилось, спасибо!


  • 0




Click to return to top of page in style!