yii2-fotorama-widget не роботает в модалке

154
12 декабря 2017, 20:37

Проект на Yii2 basic віджет yii2-fotorama-widget норм роботает в админке а вот на главной в модалке проблема почемуто не роботает

вот подключил модалку віджетом в index

 <?php \yii\bootstrap\Modal::begin([
     //'header' => 'Детальна інформація:',
    'footer' => '<button type="button" class="btn btn-default" data-dismiss="modal" >Закрити</button>',
    'id' => 'info-work',
    'size' => 'modal-lg',
 ]);

 \yii\bootstrap\Modal::end()?>

и вот виджет вивожу с странице https://github.com/MetalGuardian/yii2-fotorama-widget

 <?php 
     $fotorama = \metalguardian\fotorama\Fotorama::begin(
         [
             'options' => [
             'loop' => true,
             'hash' => true,
             'ratio' => 800/600,
        ],
        'spinner' => [
            'lines' => 20,
        ],
        'tagName' => 'span',
        'useHtmlData' => false,
        'htmlOptions' => [
            'class' => 'custom-class',
            'id' => 'custom-id',
        ],
    ]
); 
?>
    <img src="http://s.fotorama.io/1.jpg">    
    <img src="http://s.fotorama.io/2.jpg">
    <img src="http://s.fotorama.io/3.jpg">
    <img src="http://s.fotorama.io/4.jpg">
    <img src="http://s.fotorama.io/5.jpg">
<?php $fotorama->end(); ?>

в результате картинки есть но карусель не роботает...

для модалки у меня другая view так как через ajax роботаю

public function actionFullJob(){
    $id = Yii::$app->request->get('id');
    $portfolio = Portfolio::findOne($id);
    if (empty($portfolio)){
        return false;
    }else{
        $this->layout = false;
        return $this->render('portfolio-modal', [
            'portfolio' => $portfolio
        ]);
    }
}

возможно в модалку надо както передать что то?

вот запрос:

$('.info-work').on('click', function (e) {
    e.preventDefault(); // Відміна стандартного переходу ссилки
    var id = $(this).data('id');
    // var fotorama = $fotoText.data('fotorama');
    $.ajax({
        url: 'site/full-job',
        data: {id:id},
        type: 'GET',
        success: function(res){
            if(!res){
                alert('Увага! Виникла помилка!')
            }
            // fotorama.show();
            $('#info-work .modal-body').html(res);
            $('#info-work').modal('show');
        },
        error: function(){
            alert('Error');
        },
        beforeSend: function() {
            $('.loading').show();
        },
        complete: function(){
            $('.loading').hide();
        }
    });
});
Answer 1

У вас скорее всего не подгружаются скрипты, попробуйте ипользовать renderAjax() вместо render() И папку assets не забудьте очистить на всякий случай.

READ ALSO
Подключение phpmailer, почтовые адреса

Подключение phpmailer, почтовые адреса

ЗдравствуйтеК какому файлу обратиться через require, чтобы сработал автозагрузчик PHPmailer, не нашел в распакованной папке версии 6

195
php,mysql, отправка данных

php,mysql, отправка данных

Всем привет, новичок в вебеЕсть форма для авторизации, при отправке данные идут в mysql, как сделать так чтобы при отправке перебрасывало на вторую...

148
добавить id каждой записи в Wordpress

добавить id каждой записи в Wordpress

Есть страница где выведены записи из категории

195
Как скрыть признаки использования YII2?

Как скрыть признаки использования YII2?

Возможно ли скрыть признаки использования фреймворка YII2 в wappalyzer и других подобных расширениях?

153