Лучший Ответ 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
У квартир есть уникальный класс jbzoo-item-flat, а у земли jbzoo-item-land. Соответственно и селектор в CSS должен быть вида
.jbzoo-item-land .jbprice-price .total:after {
content: " в год";
}
Отправлено 26 November 2013 - 22:52
Помогите с реализацией, плз. Необходимо сделать так, чтобы в шаблоне full определенного типа item сразу после цены выводился коммент "в год". Вот, как надо:
Уже проделывал подобную хитрость с другими элементами, например, списком характеристик. Создавал отдельную позицию "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>
Вот в предпоследней строчке ' а' отвечает за вывод комментария сразу после значения, Вот:
Попробовал проделать такой же фокус с элементом price, но комментарий все время начинается с новой строчки:
Что я в этом случае делаю не так?
И еще: может легче будет поменять местами лейбл и параметр? И настройках просто в альтернативной метке прописать "в год"? Но тогда как это сделать в этом куске кода?
<li class="<?php echo $class; ?>"> <?php echo $label.$element->render($params).' в год'; ?> </li>
Отправлено 26 November 2013 - 23:11
Можно через CSS:
.jsTotal.total:after {
content: " в год";
}
Отправлено 27 November 2013 - 10:02
ок, но если у меня есть несколько категорий итемов в одном каталоге, в одном типе после цены надо дописывать "в год", в другом - "в месяц", а в третьем ничего не дописывать. Ваше решение будет прописывать "в год" во всех типах, так как класс "
Где в таком случае можно назначать класс цены для разных типов элементов?
Отправлено 27 November 2013 - 10:27
У всех материалов есть уникальный класс, содержащий алиас типа материала.
Отправлено 27 November 2013 - 22:11
Я вас не совсем понял.
Смотрите, у меня есть два типа item: квартира (алиас: flat) и земля (алиас: land).
Допустим, что весь элемент цены в шаблоне full для квартиры я обернул в <div class="price-flat">, а для земли - в <div class="price-land">.
Теперь, когда я в css добавляю след. строчки
.jbzoo .jbprice-price .total:after {
content: " в год";
}
мне вот эти слова " в год" дописываются к цене и в квартиру, и в землю.
А как нужно прописать, чтобы эти слова дописывались к цене только для земли?
Отправлено 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
Отправлено 27 November 2013 - 22:22
Теперь понял, все получилось, спасибо!