• Как правильно сделать выборку many_many в Yii2?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Это проблема логики. Надо переписывать метод, который считает. Вы не одиноки, штатный метод не корректно работает с такими выборками.
    Ответ написан
  • Как сделать круглый border с градиентом у ссылки?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    вопрос в целом вообще не понятен, отвечай по частям:

    то есть был виден фон под кнопкой

    для этого есть css свойство background: transparent;

    чтобы ссылка(вид как у кнопки)

    Что?

    Как сделать круглый border

    для этого есть css свойство border-radius: 20px;

    border с градиентом

    https://css-tricks.com/examples/GradientBorder/
    Ответ написан
  • Как правильно организовать в rest api урл с вложенностью?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Наверное проще post запрос, а там уже указывать параметры, как это часто юзают api соц сетей ибо можно сойти с ума прописывая правила для urlManager.
    Но в любом случае для api юзать ЧПУ не зачем. Для контролера и экшена - ок, а параметры точно стоит юзать так:
    ?course_id=1&course_category_id=1
    Ответ написан
    Комментировать
  • Yii2 basic. Как реализовать кабинет пользователя?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Начните с формулировки вопроса, это должна быть конкретная проблематика, а не "как сделать сайт".
    Кстати я бы взял на Вашем месте advanced, а не basic. Он более логичнее и понятнее и как раз для новичка даст понимание структуры. В том числе там уже есть RBAC а он Вам для личного кабинета наверняка понадобится. Плюс его можно отдельным app сделать, что иногда удобно. Но я бы не начинал с таких задач. ЛК цепляет кучу сложных для новичка тем. Начните с простого. Блог, каталог, тесты и т.д.
    Но если все же - конкретизируйте вопрос и обязательно получите конкретный ответ.
    Ответ написан
    Комментировать
  • 2 композера в одном проекте - как оформить?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    А зачем Вам 2? Создаете 1, а содержимое public_html генерите командой init. Так же как это делается при установке yii, только он создает index.php в web и какие-то файлы конфигов, а Вы туда добавьте логику переноса из web в public_html и профит (только assets не тягайте они все равно автоматом создаются).
    Я думаю public_html Вам на gitHub точно не нужен.
    Ответ написан
    Комментировать
  • Где может понадобиться трейт в PHP?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Есть у Вас 20 классов унаследованных от разных классов и есть методы одинаковые. Вы выносите их в трейт.

    В каком же случае наследование будет предпочтительнее трейтам?

    Это две абсолютно разные вещи. Наследование дает множество благ, трейт только 1. Стоит ли использовать наследование, если надо всего лишь метод вынести для повторного использования?
    Ответ написан
    4 комментария
  • Проверка домена email?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    а несуществующие не пропускал

    почта может быть на любом домене. Что значит несуществующие? Метода проверки не может быть в принципе. Сам домен может отдавать 404 или еще что-то, а почта спокойно на нем работать. Другой вопрос зачем это? Можно просто ограничить прием email в input только доверенными почтовыми доменами. Например до собаки input type text а потом select со списком. Но зачем? Это борьба с пользователями, усложнение им жизни при полном отсутствии пользы для Вас.
    Ответ написан
    3 комментария
  • Как сделать бесконечную бесшовную анимацию?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Добавляете картинку над блоком, анимируете, когда ее верх равняется с верхом блока запускаете туже логику. Там же в примере все скрипты через инспектор кода видно.
    Ответ написан
  • Не подгружается сss. В чем проблема?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Видимо нагрузка большая или сервер - г..но. Но я бы в первую очередь исправил ошибки в консоле.
    Uncaught TypeError: Cannot read property 'setAttribute' of null
    at (index):852

    Как вариант роутер, плохой интернет. Файл теряется в разных ситуациях или только на одном рабочем месте?
    Еще я бы объединил файлы и сжал. У Вас там куча стилей подключено.
    Ответ написан
    Комментировать
  • Где читать инфу по СЕО?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    полезную литературу по СЕО

    СЕО, а правильнее SEO очень быстро меняется. Поисковые системы постоянно дорабатывают свои алгоритмы. Поэтому пока книга пишется и издается, она прилично устаревает. Не вся инфа конечно, но приличная часть может оказаться не верной. Я к сожалению не могу порекомендовать ничего из прочитанного.

    не хочу по неопытности прочитать непроверенный кал

    к сожалению, чаще всего будет именно он. Вполне возможно и я его Вам даю)) Нужно собирать информацию, анализировать и отделать зерна от плевел. Вначале не будет получаться, но по мере получения опыта - станет проще.

    Есть еще 1 проблема. Тот кто нащупал метод - никогда его не сдаст, так как как только он уйдет в массы, поисковики его закроют. А его наличие сулит прибылью значительно большей чем тонна гонораров за книги. Хотя я лично сомневаюсь в его существовании, как таковом.

    Какие есть варианты: читать/смотреть свежие конференции, отчеты разрабов поисковиков, пробовать и экспериментировать. Надо иметь пару десятков своих сайтов пустышек, которые не жалко, для того, что бы проводить эксперименты. Как вариант пойти на компанию стажером и получить полезный опыт.
    Ответ написан
  • Почему не работает min-height?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    In CSS 2.1, the effect of 'min-height' and 'max-height' on tables, inline tables, table cells, table rows, and row groups is undefined.

    источник: www.w3.org/TR/CSS21/visudet.html#propdef-max-height

    The height of a 'table-row' element's box is calculated once the user agent has all the cells in the row available: it is the maximum of the row's computed 'height', the computed 'height' of each cell in the row, and the minimum height (MIN) required by the cells. A 'height' value of 'auto' for a 'table-row' means the row height used for layout is MIN. MIN depends on cell box heights and cell box alignment (much like the calculation of a line box height). CSS 2.1 does not define how the height of table cells and table rows is calculated when their height is specified using percentage values. CSS 2.1 does not define the meaning of 'height' on row groups.

    In CSS 2.1, the height of a cell box is the minimum height required by the content. The table cell's 'height' property can influence the height of the row (see above), but it does not increase the height of the cell box.

    источник: www.w3.org/TR/CSS21/tables.html#height-layout
    Ответ написан
    Комментировать
  • Какой php фреймворк можно понять / разобрать полностью?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Берите yii2, порог входа низкий, хорошая документация, есть куда инфы на русском языке.
    Ответ написан
    Комментировать
  • Вопрос про mmenu?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Просто - никак. Слишком разная верстка, того что есть и того что Вы хотите. В принципе можете переписать под свои нужды css, но тогда там мало что от плагина останется. А почему бы свое не сделать, ибо поверх - это вообще "как два пальца об асфальт"
    Ответ написан
    Комментировать
  • Улучшение кода. Как улучшить проверки?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Пишем метод, который возвращает true или false и проверяет наличие любой картинки, в зависимости от переданного ключа. Пишим геттер, который возвращает url, в нем условие зависимое от выполнения первого метода. И все это в объекте user. Потом просто $user->avatar
    Ответ написан
    Комментировать
  • Клиент на Upwork угрожает международным судом, возможно ли это?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Блеф. Мой совет, меньше оскорблений и вообще общений с этим заказчиков. На все "а мы подадим в суд", отвечаем "это Ваше право, как раз готовлю встречный иск". Вы не отказываетесь от своих обязательств, они отказываются от своих и просто пугают. Возможно тактика разрыва отношений, что бв не заплатить остаток и не переживать, что Вы будете пакостить. Так как отсутствие иска уже будете считать победой. Гребаная психология.
    Ответ написан
    Комментировать
  • Как победить NULL при составлении запроса в БД?

    webinar
    @webinar Автор вопроса, куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    страшно, но работает
    $itemValues = array_values ( $data );
          $valueString = '';
          foreach($itemValues as $val) {
            if($val === null){
              $valueString .= "NULL,";
            } else{
              $valueString .= "'$val',";
            }
          }
          $valueString = rtrim($valueString, ',');
          $valueString = '(' . $valueString . ')';
          $values = "\n" . $valueString;
    
          if ($values != "") {
            $data_string = "INSERT INTO `$tableName` (`$items`) VALUES" . $values . ";;;" . PHP_EOL;
            if ($this->fp)
              fwrite ( $this->fp, $data_string );
          }
    Ответ написан
    Комментировать
  • Правильно ли сверстанный данный макет?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Сложен? Нет. Годится ли для портфолио - да. Сделан, на первый взгляд, хорошо. Скрипты и стили сжаты, комментарии. Все ок.
    Но почему бы не сделать меню из якорей? Как-то хочется нажать, а результата ноль.
    Ответ написан
  • Как сравнить две базы данных MySql?

    webinar
    @webinar Автор вопроса
    Учим yii: https://youtu.be/-WRMlGHLgRg
    нашел адскую хрень. В php addslashes заменял NULL на "" Как следствие очень не очевидная ошибка.

    Сравнивал так:
    сделал два димпа, закинул в phpStorm, сравнил с помощью истории изменений файла.
    Как сразу не догадался? ХЗ. Спасибо всем кто пытался помочь.
    Ответ написан
    Комментировать
  • Почему может выталкивать из списка блоки?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    ul.products li.product:nth-child(4n+1) {
        clear: left;
    }

    Вы же отменили обтекание
    Ответ написан
    Комментировать
  • Как заменить значения из БД в вьюшке?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Если я правильно понял, то должен быть гетер в моделе:
    public static function parkingList() {
      return  [
           1 => 'Парковка №1',
           2 => 'Парковка №2';
    ];
    }
    
    public function getParkingName(){
      $list = self::parkingList();
      return (isset($this->transport_storage) and isset($list[$this->transport_storage->storage_id])) ? $list[$this->transport_storage->storage_id] : 'не заданно';
    }

    соответственно во вью будет
    [
                'header' => 'Стоянка',
                'value' => 'parkingName'
    ]
    Ответ написан