Jump to content


Photo
- - - - -

Внешний вид jbcolor


6 replies to this topic

#1 stalk12

stalk12
  • JBZoo User (rus)
  • User rate: 0
  • posts: 32
  • topics: 10

Posted 01 December 2016 - 05:07

Добрый день.

В каталоге товаров задействован элемент jbcolor. Появилась необходимость вывести рядом с иконками расцветок - их названия. Нашел что название цвета выводится строкой $html[] = '<p class="namecolor">' . $labelAttr['title']. '</p>';

Пытался редактировать шаблон элемента, но ничего не получается. Пожалуйста подскажите, в каком файле и где добавить вывод названия. И желательно чтобы иконки расположились вертикально (но это уже видимо делается стилями).

Joomla: 3.6.4 JBZoo: 2.2.9 Pro rev3184 Zoo: 3.3.20


Edited by stalk12, 02 December 2016 - 11:30.

  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 02 December 2016 - 11:55

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

 

Ваше решение звучит верно.

Можете подробнее рассказать о своих попытках? Возможно показать код. Где и что меняли?

 

Спасибо.


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



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


#3 stalk12

stalk12
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 32
  • topics: 10

Posted 09 December 2016 - 10:37

Денис, пробовал в 2 файла

media/zoo/applications/jbuniversal/cart-elements/price/color/color.php и

media/zoo/applications/jbuniversal/cart-elements/price/color/tmpl/color.php

 

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


  • 0

#4 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 11 December 2016 - 21:07

Но выходит либо ошибка, либо ничего.

 

Какие именно изменения делали?

Как я смогу повторить ваши действия?

Какая именно ошибка? 


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



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


#5 stalk12

stalk12
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 32
  • topics: 10

Posted 12 December 2016 - 05:06

Понимаю что делаю не верно, пытаюсь добавить в файл media/zoo/applications/jbuniversal/cart-elements/price/color/tmpl/color.php
после кода.
echo $this->_jbhtml->colors('radio', $dataColor, $name, $value, null, $width, $height);
не происходит ничего
 
Также в файл media/zoo/applications/jbuniversal/cart-elements/price/color/tmpl/color.php
 
 
public function edit($params = array())
    {
        if ($layout = $this->getLayout('edit.php')) {
            return $this->renderEditLayout($layout, array(
                'data'  => $this->_parseOptions(),
                'name'  => $this->getControlName('value'),
                'value' => $this->getValue()
            ));
СЮДА
        }

        return null;
    }
ИЛИ
 
 
public function render($params = array())
    {
        if ($layout = $this->getLayout($params->get('layout', 'color') . '.php')) {
            return $this->renderLayout($layout, array(
                'width'     => (int)$params->get('height', 35) . 'px',
                'height'    => (int)$params->get('width', 35) . 'px',
                'value'     => $this->getValue(),
                'name'      => $this->getRenderName('value'),
                'data'      => $this->_getOptions(true),
                'dataColor' => $this->_getColors()
            ));
СЮДА
        }

        return null;
    } 
Также ничего не происходит. Вставляю в другие места этого файла - может появляться ошибка, сайт не загружается полностью, видно только картинку и название товара. Понимаю что это метод тыка. При этом скорее всего строка
 
 
$html[] = '<p class="namecolor">' . $labelAttr['title']. '</p>';
 
в данном случае может быть не совсем верна, т.к. на форуме она была упомянута к другому примеру (fancybox для color).
 
Спасибо.
  • 0

#6 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 13 December 2016 - 07:47


Ключевое слово "return" сделает выход из функции и вернет результат.

Т.е. после неё нет смысла что-то писать.
Фактический рендеринг виджета происходит при вызове jbhtml->colors()

Реализация функции находится тут
media\zoo\applications\jbuniversal\framework\helpers\jbhtml.php colors()

Там есть фикл по $data. Внутри него нужно сделать вывод атрибута.
zfa0_200x0.png

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



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


#7 stalk12

stalk12
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 32
  • topics: 10

Posted 13 December 2016 - 08:22

Денис, спасибо большое!


  • 0




Click to return to top of page in style!