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


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

Кастомизация jbprice

jbprice цена описание цены

Лучший Ответ SmetDenis , 16 May 2013 - 19:27

В шаблоне можно сделать условие для проверки типа материала

 

if ($this->getItem()->type == 'myTypeName') {
    // особый шаблон
} else {
    // шаблон по умолчанию
}

 

 

Либо немного изменить код класса в файле jbprice.php

В районе 175 строки заменить строку

       if ($layout = $this->getLayout('_jbprice.php')) {

На следующий фрагмент

 
        $layoutName = '_jbprice.php';
        if ($this->getItem()->type == 'myTypeName') {
            $layoutName = '_jbprice_mytmpl.php';
        }
                    
        if ($layout = $this->getLayout($layoutName)) {

 

Тогда для типа myTypeName будет использоваться шаблон "_jbprice_mytmpl.php"

Перейти к сообщению


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

#1 sc

sc

Отправлено 16 May 2013 - 15:53

Создал новый тип и для этого типа нужно поменять местами description и price в шаблоне вывода elements/jbprice/tmpl/_jbprice.php

Было так:

foreach ($values as $currency => $value) {

    $activeClass = '';
    if ($currency == $activeCur) {
        $activeClass = ' active';
    }

    if ($value['noFormat'] > 0) {
        $htmlValues[] = '<span class="price-value jsPriceValue price-currency-' . $currency . $activeClass . '">' . $value['format'] . '</span>';
    }
}


echo implode("\n", $htmlValues) . "\n";

if ($description) {
    echo '<span class="description">' . $description . '</span> ';
}

Стало так:

if ($description) {
echo '<span class="description">' . $description . '</span> ';
}

foreach ($values as $currency => $value) {

$activeClass = '';
if ($currency == $activeCur) {
$activeClass = ' active';
}

if ($value['noFormat'] > 0) {
$htmlValues[] = '<span class="price-value jsPriceValue price-currency-' . $currency . $activeClass . '">' . $value['format'] . '</span>';
}
}


echo implode("\n", $htmlValues) . "\n";

Только после изменения местами меняются во всех типах описание цены и цена. Я пробовал создать копию _jbprice.php типа buket.php, но новый шаблон не подтянулся. Возможно ли для определенного типа создать свой шаблон вывода jbprice ???


  • 0

yootheme-logo.png
Лицензирование YOOtheme (шаблоны, Widgetkit, ZOO). А так же самые свежие обновления напрямую от ZOOlanders, SH404SEF, Akeeba Backup PRO, Admin Tools PRO, Accordion Menu и д.р. Пишите в ЛС


#2 SmetDenis

SmetDenis

Отправлено 16 May 2013 - 19:27   Лучший Ответ

В шаблоне можно сделать условие для проверки типа материала

 

if ($this->getItem()->type == 'myTypeName') {
    // особый шаблон
} else {
    // шаблон по умолчанию
}

 

 

Либо немного изменить код класса в файле jbprice.php

В районе 175 строки заменить строку

       if ($layout = $this->getLayout('_jbprice.php')) {

На следующий фрагмент

 
        $layoutName = '_jbprice.php';
        if ($this->getItem()->type == 'myTypeName') {
            $layoutName = '_jbprice_mytmpl.php';
        }
                    
        if ($layout = $this->getLayout($layoutName)) {

 

Тогда для типа myTypeName будет использоваться шаблон "_jbprice_mytmpl.php"


  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 sc

sc

Отправлено 16 May 2013 - 22:36

Благодарю  ^-^


  • 0

yootheme-logo.png
Лицензирование YOOtheme (шаблоны, Widgetkit, ZOO). А так же самые свежие обновления напрямую от ZOOlanders, SH404SEF, Akeeba Backup PRO, Admin Tools PRO, Accordion Menu и д.р. Пишите в ЛС






Темы с аналогичным тегами jbprice, цена, описание цены

Click to return to top of page in style!