@Brain_code

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

Проект на 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();

            }
        });
    });
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Потому, что надо заново инициализировать карусель.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы