Jump to content


Photo
- - - - -

Альтернативный макет слайдер в модуле JBZoo Item

слайдер jbzoo item

5 replies to this topic

#1 Анна

Анна
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 95
  • topics: 23

Posted 29 August 2017 - 15:30

Добрый день!
Создаю свой альтернативный макет для вывода item-ов в виде слайдера slick Вот шаблон макета со слайдером

<?php
/**
 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
 * @package     jbzoo
 * @version     2.x Pro
 * @author      JBZoo App http://jbzoo.com
 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.
 * @license     http://jbzoo.com/license-pro.php JBZoo Licence
 * @coder       Alexander Oganov <t_tapak@yahoo.com>
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

$zoo->jbassets->css('modules/mod_jbzoo_item/assets/slick/slick.css');
$zoo->jbassets->css('modules/mod_jbzoo_item/assets/slick/slick-theme.css');
$zoo->jbassets->js('modules/mod_jbzoo_item/assets/slick/slick.js');

$items = $modHelper->getItems();
$count = count($items);

if ($count) : ?>

    <div id="<?php echo $modHelper->getModuleId(); ?>" class="jbzoo yoo-zoo">
        <div class="project-slide">

            <?php echo $modHelper->renderRemoveButton(); ?>

            <div>
                <?php
                foreach ($items as $item) {
                    $renderer = $modHelper->createRenderer('item');
                    echo $renderer->render('item.' . $modHelper->getItemLayout(), array(
                        'item'   => $item,
                        'params' => $params
                    ));
                }
                ?>
            </div>
        </div>
    </div>
 <script type="text/javascript">
    $(document).on('ready', function() {
      $(".project-slide").slick({
        dots: false,
        infinite: true,
        slidesToShow: 1,
        slidesToScroll: 1,
		lazyLoad: 'ondemand'
      });
	 });
</script>
<?php endif;

но почему-то у меня, во-первых, при таком подключении css и js ошибка 500,

а, во-вторых, у меня уже в моем шаблоне Joomla есть этот слайдер. Как мне его из шаблона подключить, а не из модуля?

 

Спасибо за оперативный ответ.


  • 0

#2 mmth

mmth
  • JBZoo User (rus)
  • User rate: 22.3
  • posts: 546
  • topics: 8

Posted 29 August 2017 - 18:03

  • Подробнее, это какой именно файл шаблон, и где он находится (путь до файла)
  • Можно подключать напрямую через API Joomla, вот полезная ссылка https://docs.joomla....CSS_to_the_pageи вот https://api.joomla.o...JDocument.html 
  • Где именно в шаблоне joomla они подключены, и для чего их подключать тогда повторно?

  • 2

#3 Анна

Анна
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 95
  • topics: 23

Posted 29 August 2017 - 19:47

 

  • Подробнее, это какой именно файл шаблон, и где он находится (путь до файла)
  • Можно подключать напрямую через API Joomla, вот полезная ссылка https://docs.joomla....CSS_to_the_pageи вот https://api.joomla.o...JDocument.html 
  • Где именно в шаблоне joomla они подключены, и для чего их подключать тогда повторно?

 

Вот тут

 

/templates/_мой_шаблон_/js/slick/slick.css

/templates/_мой_шаблон_/js/slick/slick-theme.css

/templates/_мой_шаблон_/js/slick/slick.js

 

Несмотря на то, что файлы подключаются в <head>  - этот макет в JBZoo item модуле не работает. Поэтому я пробую их подключить внутри макета modules/mod_jbzoo_item/tmpl/slider.php:

 

  1. $zoo->jbassets->css('modules/mod_jbzoo_item/assets/slick/slick.css');
  2. $zoo->jbassets->css('modules/mod_jbzoo_item/assets/slick/slick-theme.css');
  3. $zoo->jbassets->js('modules/mod_jbzoo_item/assets/slick/slick.js');

 

но тогда получаю ошибку 500/

Не могу найти свою ошибку. Прошу помощи.
Спасибо! 


  • 0

#4 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 29 August 2017 - 19:50

$zoo = App::getInstance('zoo');

есть такое?


  • 0

#5 Анна

Анна
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 95
  • topics: 23

Posted 29 August 2017 - 20:03

$zoo = App::getInstance('zoo');

есть такое?

 

ну да, в файле  modules/mod_jbzoo_item/mod_jbzoo_item.php

 

Сейчас я еще пороюсь в стилях и в скриптах самого slick. Может это вызов скрипта в макете неправильно делаю

 

Ребята-профи, если уж вы тут, посмотрите мой вопрос в теме, пожалуйста.  (hollest) Вот тут я не понимаю, как сделать.


  • 0

#6 Анна

Анна
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 95
  • topics: 23

Posted 30 August 2017 - 10:11

В общем, сама справилась. Скрипт инициировался только из подключения из script.js шаблона c помощью такой конструкции

(function($){
  $(document).ready(function(){
      $(".project-slide").slick({
        dots: false,
        infinite: true,
        slidesToShow: 1,
  });
})(jQuery);

Но еще есть вопрос не совсем по теме. Как стандартный элемент ZOO image изменить так, чтобы именно в этом модуле (не везде) у меня в атрибутах изображения не выводились width и height ? Портят всю малину - перебивают стили, заданные скриптом. 

 

Спасибо!


  • 0





Click to return to top of page in style!