Jump to content


Photo
- - - - -

Свой шаблон для JBGallery


Best Answer zeus07 , 08 June 2016 - 20:54

Данную проблему давно решил. 

В файле /media/zoo/applications/jbuniversal/elements/jbgallery/jbgallery.php рендер шаблона прописываем таким образом: 

// render layout
        if ($layout = $this->getLayout($parameter->get('template', 'jbgallery').'.php')) {
            return self::renderLayout($layout, compact('thumbs', 'galleryId', 'rel'));
        }

Выбор шаблона делаем в jbgallery.xml

<param name="template" type="list" default="jbgallery" label="JBZOO_GALLERY_TEMPLATE" description="JBZOO_GALLERY_TEMPLATE_DESC">
            <option value="jbgallery">jbgallery.php</option>
            <option value="gallery-slider">gallery-slider.php</option>
        </param>

И тогда в настройках элемента JBGallery будет возможность выбора своего шаблона

Go to the full post


  • This topic is locked This topic is locked
7 replies to this topic

#1 zeus07

zeus07
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 17 May 2016 - 11:25

Здравствуйте!

 

Понадобилось сделать свой шаблон для элемента JB Gallery в виде слайдера. Как я понимаю, его можно добавить в папку в tmpl данного элемента, но в шаблоне edit нужно будет сделать выбор шаблона. Верно?

 

Сам шаблон планирую реализовать на основе UIKit Slideset. Есть одна особенность. На одном экране мне необходимо выводить определённое количество миниатюр. Это уже зависит не от самого элемента, а от настроек в слайдере?


  • 0

#2 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 17 May 2016 - 11:38

здравствуйте zeus07, вам необходимо в XML

\media\zoo\applications\jbuniversal\elements\jbgallery\jbgallery.xml 

добавить параметр выбора шаблона. В документации это описано.

Это уже зависит не от самого элемента, а от настроек в слайдере?

Это скорей всего зависит от CSS.  


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

#3 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 17 May 2016 - 11:39

здравствуйте zeus07, вам необходимо в XML

\media\zoo\applications\jbuniversal\elements\jbgallery\jbgallery.xml 

добавить параметр выбора шаблона. В документации это описано.

 

 

Это скорей всего зависит от CSS.  

Понял, спасибо, буду пробовать


  • 0

#4 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 17 May 2016 - 19:47

Подскажите пожалуйста по одному вопросу. Как мне записать значение из селекта в переменную $layout ?

// render layout
        $template = $params->get('template'); // тут получаю имя выбранного шаблона
        if ($layout = $this->getLayout()) { // тут его надо как-то записать в $layout (понимаю, что делается просто, но не помню как)
            return self::renderLayout($layout, compact('thumbs', 'galleryId', 'rel'));
        }

  • 0

#5 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 19 May 2016 - 12:35

Уважаемые разработчики, подскажите пожалуйста этот небольшой момент


  • 0

#6 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 19 May 2016 - 21:57

zeus07, в ссылке которая веден на документацию это написано. Посмотрите внимательно. 


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

#7 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 20 May 2016 - 20:03

Сделал вот таким образом 

// render layout
        if ($layout = $this->getLayout($params->get('template', 'jbgallery.php'))) {
            return self::renderLayout($layout, compact('thumbs', 'galleryId', 'rel'));
        }

Но всё равно выдаёт ошибку 

Fatal error: Call to a member function get() on array in /home/artcolor/artcolorit.com/terra/media/zoo/applications/jbuniversal/elements/jbgallery/jbgallery.php on line 96

Как раз ругается на строку 

if ($layout = $this->getLayout($params->get('template', 'jbgallery.php'))) {

Подскажите пожалуйста, в чём ошибка?


  • 0

#8 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 08 June 2016 - 20:54   Best Answer

Данную проблему давно решил. 

В файле /media/zoo/applications/jbuniversal/elements/jbgallery/jbgallery.php рендер шаблона прописываем таким образом: 

// render layout
        if ($layout = $this->getLayout($parameter->get('template', 'jbgallery').'.php')) {
            return self::renderLayout($layout, compact('thumbs', 'galleryId', 'rel'));
        }

Выбор шаблона делаем в jbgallery.xml

<param name="template" type="list" default="jbgallery" label="JBZOO_GALLERY_TEMPLATE" description="JBZOO_GALLERY_TEMPLATE_DESC">
            <option value="jbgallery">jbgallery.php</option>
            <option value="gallery-slider">gallery-slider.php</option>
        </param>

И тогда в настройках элемента JBGallery будет возможность выбора своего шаблона


  • 1




Click to return to top of page in style!