Задать вопрос
  • Как отправить запрос в API Я.Кассы?

    @kuznecov85 Автор вопроса
    Самое интересное, что пробовал.
    Попытки найти confirmation_url (как в оффДокументации) провалились. Оказывается этот параметр переименовали в confirmationUrl.

    Надо быть внимательнее =)

    Спасибо!
  • Как настроить ЧПУ в Yii2?

    @kuznecov85 Автор вопроса
    Отлично, заработало. Запутался в трех березах :)
  • Как настроить ЧПУ в Yii2?

    @kuznecov85 Автор вопроса
    Работает, но не совсем как хотел.
    Ссылка, которая ведет на страницу с новостью формируется так:
    Html::a($news->title, ['news/view', '' => $news->url])


    Соответственно у меня на выходе ссылка news/view?url=my-news, попробовал исправить на
    Html::a($news->title, ['news/', '' => $news->url])
    Стал вести на /news?=my-news. Можно конечно просто HTML ссылку сделать и не заморачиваться с Html::a, но хочется все по уму сделать =)
  • Как правильно обработать форму в Yii2 через ajax?

    @kuznecov85 Автор вопроса
    Чудеса какие-то. У меня подставляется префикс /ru | /en (в зависимости от выбранного языка). В url исправил на url: 'en',
    И все заработало =)

    Спасибо!
  • Как правильно обработать форму в Yii2 через ajax?

    @kuznecov85 Автор вопроса
    slo_nik, отправляется.
    FirstName=%D0%98%D0%BC%D1%8F&Email=info%40yandex.ru&Message=%D0%9C%D0%BE%D0%B5%20%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20
  • Как правильно обработать форму в Yii2 через ajax?

    @kuznecov85 Автор вопроса
    Переделал на ActiveForm, получилось такое представление:
    <div class="col-md-7 contact-form">
    
                        <?php $form = ActiveForm::begin() ?>
                        <?= $form->field($model, 'name', ['template' => "{label}\n{input}"])->label(false)
                            ->textInput([
                                'placeholder' => "Name",
                                'class' => "",
                                'id' => "nameContact",
                            ]) ?>
                        <?= $form->field($model, 'email', ['template' => "{label}\n{input}"])->label(false)
                            ->textInput([
                                'placeholder' => "Email",
                                'class' => "",
                                'id' => "emailContact",
                            ]) ?>
                        <?= $form->field($model, 'subject')
                            ->textarea([
                                'rows' => 2,
                                'cols' => 5,
                                'placeholder' => "Your message",
                                'class' => "",
                                'id' => "messContact",
                            ])->label(false); ?>
                        <?=Html::submitInput('Send', ['class' => '', 'id' => 'sendBut']);?>
                        <?php $form = ActiveForm::end() ?>
                        <div id="info-send"  class="alert alert-success"></div>
                        <div id="error-send"  class="alert alert-danger"></div>
    
                        <div id="info-send"  class="alert alert-success"></div>
                        <div id="error-send"  class="alert alert-danger"></div>
    				</div>


    В контроллере:
    if(\Yii::$app->request->isAjax){
    
                print_r(Yii::$app->request->post());
    
                $name = Yii::$app->request->post('name');
                return "Спасибо, ваше сообщение принято. {$name}";
            } else {
                return $this->render('statPages/stat-ru', compact('model'));
            }


    Переделал под serialize():
    $script = <<<JS
     $('form').on('beforeSubmit', function(){
        console.log("qw");
        var data = $(this).serialize();
        $.ajax({
             url: '/',
             type: 'POST', 
             data: data,
             success: function(res){
                 console.log(res);
                 $('#info-send').html(res); 
                 $('#info-send').css('display','block');
             },
             error: function(){
                 $('#error-send').html('Ошибка при отправке сообщения. Перезагрузите страницу');
                 $('#error-send').css('display','block');
             }  
         });
        return false; 
     });
    JS;
    $this->registerJs($script, yii\web\View::POS_READY);


    Ответ от Ajax'a:
    Array ( ) Спасибо, ваше сообщение принято.

    Не может быть проблемы с моделью ContactForm ?
    По идее у меняж данные туда тож отправляются, или чет путаю?
  • Как вывести данные?

    @kuznecov85 Автор вопроса
    Rsa97, так работает. Спасибо!
    Правда с учетом замечаний longclaps'а, у меня такой код:

    SELECT *
      FROM `movie` AS `f`
      JOIN `movie_genre` AS `fj1` ON `fj1`.`movie_id` = `f`.`id`
        AND `fj1`.`genre_id` IN (SELECT `id` FROM `genre` WHERE `name` = 'Ужасы')
      LEFT JOIN `movie_genre` AS `fj2` ON `fj2`.`movie_id` = `f`.`id`
        AND `fj2`.`genre_id` IN (SELECT `id` FROM `genre` WHERE `name` = 'Комедия')
      WHERE `fj2`.`movie_id` IS NULL
  • Как вывести данные?

    @kuznecov85 Автор вопроса
    У меня этот запрос вывел фильм, который одновременно и комедия, и ужас
  • Как вывести данные?

    @kuznecov85 Автор вопроса
    longclaps, огромное человеческое спасибо :)
  • Как вывести данные?

    @kuznecov85 Автор вопроса
    longclaps, запрос
    SELECT M.*
    FROM movie M
       JOIN movie_genre A ON M.id = A.movie_id
       JOIN movie_genre B ON M.id = B.movie_id
    WHERE A.genre_id=1 AND B.genre_id=2


    Мне выводит фильмы, которые и комедия , и ужасы. Если я пишу
    SELECT M.*
    FROM movie M
       JOIN movie_genre A ON M.id = A.movie_id
       JOIN movie_genre B ON M.id = B.movie_id
    WHERE A.genre_id=1 AND B.genre_id<>2


    Тогда у меня выводятся все ужасы (включая тот фильм, который одновременно и комедия).
    Такое чувство, что чего-то не хватает в запросе:)
  • Как вывести данные?

    @kuznecov85 Автор вопроса
    Разбираясь с этой задачей, прихожу к выводу что она близка к невозможной :)
  • Как вывести данные?

    @kuznecov85 Автор вопроса
    Я правильно понимаю что вы предлагаете мне отказаться от связующей таблицы filmsjanrs, в которой у меня хранятся ключи?

    Если бы у меня было две таблицы, решение конечно упрощается. И условие вывода списка фильмов такое:
    Надо вывести все фильмы, которые относятся к жанру Ужасы, но при этом они не относятся к жанру комедия.

    В моем примере есть фильм который относится и к комедии, и к ужасам. Так вот он в результате запроса не должен выводиться
  • Как вывести данные?

    @kuznecov85 Автор вопроса
    longclaps, с move не могу не согласиться. Обещаю исправиться и скорректировать название таблиц. Если все-таки поможете с моим вопросом, моя благодарность не будет знать границ :)
  • Как вывести данные?

    @kuznecov85 Автор вопроса
    longclaps, согласен, не корректное название. По-хорошему таблицу films надо было назвать film, но на синтаксис SQL это не повлияет. Поэтому вопрос остается открытым :)
  • Yii2. Ошибка 404 при обращении к действию контроллера, как исправить?

    @kuznecov85 Автор вопроса
    Проверил этот вариант, тоже работает. И он действительно проще для понимания :)
  • Yii2. Ошибка 404 при обращении к действию контроллера, как исправить?

    @kuznecov85 Автор вопроса
    Большое спасибо за помощь!
    Заработало :)