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


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

Переопределение названий кнопок в jbpriceadvance


Лучший Ответ Cheren-dow , 12 September 2014 - 14:40

но как дальше быть?

Пишете проверки на тип материала

$btnLabel = '';
if ($this->_item->type == 'тип материала 1') {
    $btnLabel = 'купить для типа 1';
} elseif ($this->_item->type == 'тип материала 2') {
    $btnLabel = 'купить для типа 2';
} elseif ($this->_item->type == 'тип материала 3') {
    $btnLabel = 'купить для типа 3';
} else {
    $btnLabel = 'купить для типа 4';
} 

А потом уже в кнопку вместо стандартного текста вставляете переменную $btnLabel

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


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

#1 solohub

solohub

Отправлено 12 September 2014 - 10:47

Доброго времени суток! Хочу сделать для каждого типа материала свои названия кнопок "Добавить в корзину" "Удалить", делал следующее в файле _buttons.php вместо

<?php echo JText::_('JBZOO_JBPRICE_REMOVE_FROM_CART'); ?>

подставлял свое

<?php echo $namekat; ?>

а в шаблоне типа материала в full соответственно

<?php
$namekat = 'Удалить товар';
?>

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


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 12 September 2014 - 11:52

solohub, шаблон материала ни как не передает вашу переменную в шаблон кнопок. Поэтому и пустота. Если бы у вас на сервере стоял бы вывод ошибок тогда бы вывелась ошибка.

Попробуйте в шаблоне кнопок получить текущие данные о материале через

$_item = $this->getItem();

Посмотрите что будет лежать в данной переменной. И в зависимости от типа материала уже можете варировать надписи.


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

#3 solohub

solohub

Отправлено 12 September 2014 - 12:15

просто валится шаблон


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 12 September 2014 - 12:36

просто валится шаблон

Можете подробнее написать. Что сделали, что сломалось. Мы не телепаты) 


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

#5 solohub

solohub

Отправлено 12 September 2014 - 13:25

делал следующее в шаблоне кнопок добавляю

<?php
$_item = $this->getItem();
echo $_item;
?>

при загрузке страницы загружаеться все содержимое (текст, ссылки) без шаблона с ошибкой (поставил отображение ошибок)

Catchable fatal error: Object of class Item could not be converted to string in

и указывает на строку

echo $_item;

  • 0

#6 solohub

solohub

Отправлено 12 September 2014 - 13:43

Нескаю насколько это рабочий вариант но все все выскажу:

Если например в шаблон teaser допавить поле элемент text с параметром например "Купить" и сделать его скрытым, а в элемент itemname по id поля подставлять значение в url как get параметр, при загрузке шаблона full шаблон кнопок будет брать значение уже с url. Так получится? 


  • 0

#7 Cheren-dow

Cheren-dow

Отправлено 12 September 2014 - 13:49

solohub, попробуйте получить тип  так

var_dump($this->_item->type);

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

#8 solohub

solohub

Отправлено 12 September 2014 - 13:53

 

solohub, попробуйте получить тип  так

var_dump($this->_item->type);

вот ответ

string(13) "tovarzhenskiy"

но как дальше быть?


  • 0

#9 Cheren-dow

Cheren-dow

Отправлено 12 September 2014 - 14:40   Лучший Ответ

но как дальше быть?

Пишете проверки на тип материала

$btnLabel = '';
if ($this->_item->type == 'тип материала 1') {
    $btnLabel = 'купить для типа 1';
} elseif ($this->_item->type == 'тип материала 2') {
    $btnLabel = 'купить для типа 2';
} elseif ($this->_item->type == 'тип материала 3') {
    $btnLabel = 'купить для типа 3';
} else {
    $btnLabel = 'купить для типа 4';
} 

А потом уже в кнопку вместо стандартного текста вставляете переменную $btnLabel


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

#10 solohub

solohub

Отправлено 12 September 2014 - 14:45

Отлично все работает


  • 0




Click to return to top of page in style!