<rmcreative>

RSS

Yiistrap и Yii Wheels

19 июля 2013

В сообществе Yii Twitter Bootstrap пользуется заслуженной популярностью и будет включен в Yii2. Для 1.1 первым и на данный момент самым известным расширением-API над Bootstrap является Yii-Bootstrap. К сожалению, архитектурно он переусложнён: везде используются виджеты. Даже для простых задач. Как следствие, работает всё это не сильно быстро.

Antonio Ramirez из 2amigos помогал нам с обёрткой над Twitter Bootstrap для Yii2. В процессе были выкинуты почти все виджеты и использовал класс-хелпер. Получилось хорошо и Antonio, скооперировавшись с автором оригинального Yii-Bootstrap, применил опыт, создав Yiistrap — обёртку для 1.1.

Через какое-то время 2amigos выложили и свои наработки по части дополнительных виджетов — Yii Wheels. В наборе есть инструменты для графиков, инпуты, гриды, редакторы, модальные окна и другие полезные штуки.

Если не хотите тратить кучу времени на HTML и CSS и при этом нужно получить хороший результат, Yiistrap и Yii Wheels для вас.

Комментарии RSS

  1. №8172
    Dr.Death
    Dr.Death 19 июля 2013 г., 21:39:19

    Отлично, в понедельник попробую заменить yiibooster пока дальше форм не накодил

  2. №8173
    Саша
    Саша 19 июля 2013 г., 23:41:22

    Смотрю я хелперы Yiistrap и глаза на лоб лезут. Это ж сколько лишней писанины !!!

    <?php echo TbHtml::b('rendered as bold text'); ?> вместо <b>rendered as bold text</b>

    и так далее...

  3. №8174
    Dr.Death
    Dr.Death 20 июля 2013 г., 8:58:30

    Ну да, тут чето ребят занесло не туда x_X

  4. №8175
    madmis
    madmis 20 июля 2013 г., 11:16:02

    Ну это ведь всего лишь вариант. Использовать никто не заставляет.

  5. №8176
    Vladislav
    Vladislav 20 июля 2013 г., 14:44:36

    Честно говоря не сильно впечатлило =( Может я плохо смотрел?

    В YiiBooster сделаны виджеты на все. Но никакой сдравый человек конечно не использует виджеты для генерации кнопок и прочих мелких элементов.

    Для ActiveForm используют виджеты. И в YiiBooster формы сделаны неплохо, хоть и не гибко - приходится местами извращаться.

    В этих новых расширениях для активных форм.. также используются виджеты! Так что разницы никакой нет =((

  6. №8177
    Максим
    Максим 20 июля 2013 г., 16:45:21

    Ну уже что-то, а то мы свой вариант пилим.

  7. №8178
    Максим
    Максим 20 июля 2013 г., 16:54:35

    Поторопился с выводами. Все таки остановимся на стилизации на уровне скинов.

  8. №8179
    Вадим
    Вадим 20 июля 2013 г., 19:36:55

    И все же такой вопрос, что лучше использовать (этот комплект, или yiibooster), если мне нужно сделать например админку для инет-магазина?

  9. №8180
    Артур
    Артур 20 июля 2013 г., 20:35:54

    Что больше нравится )

  10. №8181
    Максим
    Максим 20 июля 2013 г., 23:00:42

    2Вадим, Мы у себя в проекте скинизируем компоненты zii через скины под стили бутстрапа. Это дает очевидный плюс - используется то же самое апи и те же виджеты.

  11. №8185
    Ильдар
    Ильдар 22 июля 2013 г., 9:12:23

    Александр, это очень круто. Невероятно.

  12. №8186
    Ильдар
    Ильдар 22 июля 2013 г., 9:21:39

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

  13. №8187
    Sam
    Sam 22 июля 2013 г., 12:53:32

    Ильдар, зависит от виджетов. Замеряйте.

  14. №8205
    Андрей
    Андрей 28 июля 2013 г., 22:58:45

    Тебя читают не только yii программисты, например я :) Так что думаю будет полезно оставить ссылку на подобную библиотеку, но работающие без привязки к фреймворкам. Плюс реализована она принципиально по-другому, может быть кому так такой подход будет больше по вкусу Библиотека Bootstrap.PHP cайт http://allking.ru/bootstrap.php/

  15. №8216
    Рамазан
    Рамазан 31 июля 2013 г., 14:02:22

    На самом деле TbHtml::b и прочие хелперы не обязательно ( наверное даже не нужно ) писать во вьюхах. Такие штуки очень полезны в бэкенд'е. Например

    Yii::app()->user->setFlash('Hello ' . TbHtml::b($userName));

    намного лучше смотрится, чем:

    Yii::app()->user->setFlash('Hello <b>' . $userName . '</b>');
  16. №8219
    Тим
    Тим 31 июля 2013 г., 19:15:12

    Пересмотрел кучу оберток, везде уже скомпиленный css бутстрапа да еще ручками кастомизированный. Ктонибудь может мне подсказать обертку которая нормально будет работать если я скомпилю с less в бутстрапе свой css?

  17. №8220
    Dr.Death
    Dr.Death 31 июля 2013 г., 19:17:47

    На самом деле ребята как открыли бутстрап от и до так и накодили все че в нем описано начиная с основных тегов :)

  18. №8247
    Duke
    Duke 09 авг. 2013 г., 15:24:51

    а теперь все вмесе yiibooster.clevertech.biz/

  19. №8386
    Слава
    Слава 19 сент. 2013 г., 11:34:31

    А для Yii2 это уже будет в ядре?

  20. №8387
    Sam
    Sam 19 сент. 2013 г., 18:53:47
  21. №8518
    dignity
    dignity 31 окт. 2013 г., 2:48:10

    То есть лучше использовать Yiistrap вместо Yiibootstrap? ;) А я вот только перешел на второй, блин жаль раньше не прочитал.

  22. №8615
    Wily
    Wily 22 нояб. 2013 г., 22:09:09

    Хочется получить короткий ответ! Что сейчас лучше использовать и почему? 1 Yiistrap + Yii Wheels 2 YiiBooster 3 Yii-Bootstrap

  23. №8660
    Иван
    Иван 03 дек. 2013 г., 8:53:16

    Меня тоже интересует обзор. Тащу проект на Yii с 0.9 версии.

    Собираюсь рефакторинг стартовать бекенда . Выбираю оптимальный путь.

  24. №8787
    Timur
    Timur 01 февр. 2014 г., 13:49:41

    Приветствую Александр. Честно меня расстраивает, что в yii2 app basic ипользуется во первых bootstrap, во вторых assetmanager который явно должен быть ипользован в advanced app, но ни как не в базовом. Почему вы не сделаете из basic app реальный бейсик, а-то получается так: ты хочешь начать с простого нуля, но в итоге тебе приходиться тратить день что бы избавиться от бустраповского фрейма и писать что-то свое, а также этот ассет менеджер от которого болит голова и вызывает сплошные непонимания у новичков, eg: www.yiiframework.com/forum/index.php/topic/12612-about-assets-folder-and-feature/

    Как ты можешь это объяснить?

  25. №8788
    Sam
    Sam 02 февр. 2014 г., 5:03:56

    Timur, сочинил совсем basic: github.com/samdark/yii2-minimal

  26. №8790
    Timur
    Timur 02 февр. 2014 г., 12:34:39

    Спасибо, посмотрел код - действительно минимал, однако почему этого нет в офф репозитории yii2 - я думаю, что это то что нужно для тех, кто хочет начать с самых сонов. Просто мне обидно что вы теряете новичков таким образом, которые увидев app-basic и какие-то навороченные виджеты, bootstrap (фрейм которые по настоящему не все знают) повсюду и во вьюверах и в конфиге просто теряются, учитывая что для него даже отдельный класс написан. Я понимаю, вам все то легко читается, так как вы уже годами с этим работаете, однако нужно и со стороны новичков посмотреть..

  27. №8791
    Sam
    Sam 02 февр. 2014 г., 17:58:04

    Timur, если из basic выкинуть тесты, получается как раз золотая середина для любого проекта, который не является просто промо-страницей.

  28. №8792
    Timur
    Timur 02 февр. 2014 г., 18:42:37

    Я про тесты ничего не говорю, больше всего меня смущает Bootstrap, хотя я против него ничего не имею, однако такое чувство что скоро под него будет заточен сам Yii. Вот смотри, представь я знаю plain CSS и PHP или я использую foundation вместо bootstrap. Скачав бейсик с офф репозитория, что я вижу? Например в файле view/layout/main.php: use yii\bootstrap\Nav; use yii\bootstrap\NavBar; Человек подумает что это какие-то важные классы которые распологаются в неймспейсе bootstrap, который наверно содержит еще кучу важных классов, отвечающих за иницилизацию самого фреймворка.

    А например в твоем minimal есть строка use yii\widgets\Menu; , которой нету не в одном примере на офф репозитории, спрашивается как до этого догодаться что вместо NavBar::widget есть оказывается стандартный Menu::widget

    Может я где-то ошибаюсь, но я намекаю на то, что интеграция с bootstrap должна отдельной веткой в репозитории(как приятно дополнение), а не как основа для любого проекта. Понимаешь?

    Сам основатель твоего фрема говорит, что Yii прежде всего практичный фреймворк, однако интеграция с bootstrap усложнаяет начальное его использование(интеграцию со своими стилями например), понимание где классы для создания меню дефолтными инструментами, а где для bootstrap.

  29. №8794
    Sam
    Sam 03 февр. 2014 г., 0:45:31

    Человек подумает что это какие-то важные классы которые распологаются в неймспейсе bootstrap, который наверно содержит еще кучу важных классов, отвечающих за иницилизацию самого фреймворка.

    Как NavBar в layout-е может отвечать за инициализацию фреймворка?

    А например в твоем minimal есть строка use yii\widgets\Menu; , которой нету не в одном примере на офф репозитории

    Стартовые приложения — это не демонстрация. Это начальные болванки. Для демонстрации к релизу или немного позже будет пример блога. К тому же, я допишу рано или поздно, документацию и по виджетам в том числе.

    Может я где-то ошибаюсь, но я намекаю на то, что интеграция с bootstrap должна отдельной веткой в репозитории(как приятно дополнение), а не как основа для любого проекта. Понимаешь?

    Она и так отдельным пакетом идёт. В minimal он не просто не используется, но и его код не вытягивается.

    А вообще bootstrap позволяет один раз выучить разметку и не тратить много-много времени на вёрстку, качество которой, скорее всего, окажется хуже того, что даёт bootstrap из коробки. Для того же Foundation кто-нибудь да запилит стартовое приложение, возможо даже мы.

  30. №8795
    Timur
    Timur 03 февр. 2014 г., 11:04:12

    Она и так отдельным пакетом идёт. В minimal он не просто не используется, но и его код не вытягивается.

    Она то в отдельном, но называется yii2-app-basic, а не yii2-app-basic-bootstrap. Мое мнение, что твой минимал заслуживает быть бейсиком.

    А вообще bootstrap позволяет один раз выучить разметку и не тратить много-много времени на вёрстку, качество которой, скорее всего, окажется хуже того.

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

    Как NavBar в layout-е может отвечать за инициализацию фреймворка?

    Я говорю не про сам NavBar, а про неймспейс yii\bootstrap,то что может быть под ним в представлении тех, кто не знает bootstrap от twitter. Попробуй превести дословно и получиться то, про что я говорил, хотя он в отдельной директории не свзанной с коровыми файлами.

    Ладно, хватит спорить) тем более что тебя не переубедить как и меня)). Спасибо за ответы! Я понял твою позицию, тебе виднее, мое мнение - мнение новичка.

  31. №8933
    Roman
    Roman 06 апр. 2014 г., 23:03:42

    А мое мнение новичка наоборот. Я не могу найти нормальной интеграции yii+bootstrap. Пробовал несколько вариантов, но они оказались не совместимы и написанный для одного код не работал на другом. Как раз для новичка использование обоих фреймворков - кода (yii) и оформления (bootstrap) самое то, что хочется. Если бы еще интегрировать весь минимально необходимый комплект для сайта, состоящий из yii, bootstrap, user, auth, mailer, то новичкам не пришлось бы долго делать стартовый комплект, а все внимание направить на сущность проекта.

  32. №8934
    Sam
    Sam 07 апр. 2014 г., 12:28:09

    Roman, похоже, Yii2 вам понравится.

  33. №8935
    Timur
    Timur 07 апр. 2014 г., 12:44:25

    @Roman

    А мое мнение новичка наоборот. Я не могу найти нормальной интеграции yii+bootstrap.

    Как же люди коверкают мысли других людей. Словом каждый слышет, что хочет слышать)) филисовское отступление. А тут никто не против ее интеграции. Просто я за логическое разделение подобных вещей в предзаготовленных yii2 темплейтах. Словом каждый должен иметь право выбора)

    Как раз для новичка использование обоих фреймворков - кода (yii) и оформления (bootstrap) самое то, что хочется.

    А ты подумай о тех кто любит пользоваться другим фреймом оформления и поймешь, что новички разные бывают)

    новичкам не пришлось бы долго делать стартовый комплект, а все внимание направить на сущность проекта.

    Так не бывает. Самостоятельное интеграция большого количества компонентов сделает из новичка знающего, а не глупца который поверхностно тыкает и при появлении проблемы разводит руками и обвиняет мол фреймворк что-то барахлит.

  34. №8938
    Roman
    Roman 08 апр. 2014 г., 11:50:18

    Я высказал свое мнение, с которым, наверное, согласна часть новичков. Вы высказали свое, с которым так же будет согласна еще часть. Но, конечно, я согласен с тем, что каждый может иметь право выбора. Для этого я и написал выше, описав другое видение проблемы. А любое отрицание хорошо в данной среде только с предложением реальной альтернативы. Извините, если что понял не так как задумывалось автором.

  35. №9142
    Роман
    Роман 25 авг. 2014 г., 14:21:45

    вопрос по Yiistrap

    Я его подключил, все вроде работает. Но если делаю верстку

    <div class="row">
      <div class="col-md-8">.col-md-8</div>
      <div class="col-md-4">.col-md-4</div>
    </div>

    То оно не работает, вопрос в том как нужно его подключить что бы это тоже работало, или же нужно одельно качатьс бутсрапа сайта .css и еще его покдлючать Спасибо.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.