Новости Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#joomla #расширения

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

0 Пользователей и 1 Гость просматривают эту тему.
  • 62 Ответов
  • 10732 Просмотров
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: LESS - динамический CSS
« Ответ #30 : 14.01.2013, 15:43:17 »
В шаблоне? Это как? В шаблон вставлять php include? - да по сути будет тот-же плагин.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: LESS - динамический CSS
« Ответ #31 : 14.01.2013, 16:11:43 »
Код: php
$user	= & JFactory::getUser();
$doc = & JFactory::getDocument();
$isroot = $user->get('isRoot');
if($isroot){
require_once 'lessphp/lessc.inc.php';
        $less = new lessc;
        $less->checkedCompile("css/input/input.less", "css/output/output.css");
}
$doc->addStyleSheet($this->baseurl.DS.'templates'.DS.$this->template.DS.'css/output/output.css');
*

20dollars

  • Захожу иногда
  • 235
  • 4 / 2
Re: LESS - динамический CSS
« Ответ #32 : 15.01.2014, 17:06:42 »
Короче *** полное этот less, изобретаете велосипед. как его убрать вообще из шаблона Rocket Theme? Понасоздавало мне кучу CSS файлов, перезаписывает мои изменения, костыли одни!
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: LESS - динамический CSS
« Ответ #33 : 16.01.2014, 15:52:15 »
хахаха .... если не понимаете основ - не лезьте выше.

Я думаю на форуме рокетов есть решение.

И на самом деле LESS в 90% проектов не нужен, т.к. сделал проект - забыл. Я вот тот, который развивается - там самое то (ну или SASS). Я не понимаю, зачем он вам.

Перезаписывает ваши изменения ... Less сам по себе ничего не пришет, при оригинальной задумке он вообще ничего не создаст, кроме записи в исходном коде в виде:
Код: html4strict
<style></style>

в секции head.

Остальные проблемы - либо вы накрутили, либо рокеты, либо все работает нормально, но вы не понимаете схему работы, вот и проблемы.
« Последнее редактирование: 16.01.2014, 15:58:20 от Pazys »
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: LESS - динамический CSS
« Ответ #34 : 16.01.2014, 16:54:39 »
Цитировать
Я думаю на форуме рокетов есть решение
В настройках шаблона можно выключить генерацию из less

Цитировать
при оригинальной задумке он вообще ничего не создаст, кроме записи в исходном коде в виде
Это только для разработки на боевом сайте это жесть такой подход использовать. Рокеты используют lessphp, не очень круто было бы заставлять пользователь ставить на сервер компилятор)
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: LESS - динамический CSS
« Ответ #35 : 16.01.2014, 17:05:44 »
Это только для разработки на боевом сайте это жесть такой подход использовать. Рокеты используют lessphp, не очень круто было бы заставлять пользователь ставить на сервер компилятор)

Да я про то, что у человека проблемы совершенно не касаются LESS (как препроцессора CSS), но именно LESS в этом виноват:
Короче *** полное этот less, изобретаете велосипед. как его убрать вообще из шаблона Rocket Theme? Понасоздавало мне кучу CSS файлов, перезаписывает мои изменения, костыли одни!

Что в принципе равносильно "Короче *** полное этот PHP, изобретаете велосипед. как его убрать вообще из шаблона Rocket Theme? Понасоздавало мне кучу CSS файлов, перезаписывает мои изменения, костыли одни!"

и даже: Короче *** полное этот Joomla, изобретаете велосипед. как его убрать вообще из шаблона Rocket Theme? Понасоздавало мне кучу CSS файлов, перезаписывает мои изменения, костыли одни!

ну или: Короче *** полное этот Google, изобретаете велосипед. как его убрать вообще из шаблона Rocket Theme? Понасоздавало мне кучу CSS файлов, перезаписывает мои изменения, костыли одни!
« Последнее редактирование: 16.01.2014, 17:09:11 от Pazys »
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: LESS - динамический CSS
« Ответ #36 : 17.01.2014, 02:57:18 »
ну да, тут получалась палка с двумя концами с одной стороны Less (в теории) должны помочь разработчикам переделывать быстрее шаблоны под себя, с другой стороны это сложнее освоить пользователям которые не разбираются в верстке
*

sm_denis

  • Захожу иногда
  • 441
  • 36 / 2
Re: LESS - динамический CSS
« Ответ #37 : 09.09.2014, 16:09:46 »
Ничавосибе, какие сложности у вас возникают с лесами =)

Синтаксис очень простой, буквально 1:1 с CSS
Я не беру в расчет условия и циклы. Т.к по факту они не нужны. имхо это синтаксический сахар, который разработчики добавили потому что у них очень сильно разыгралось воображение.
Но это сахар пригодится, если вы пишите проект размером с самолет с своим преферансом и плюшками.

// сложно изучить? ахахаххх
На мой взгляд, самое удобное что есть в less - это вложенность и примеси.
Чтобы понять смысл и то и другое, не нужно читать документацию, просто добавьте 2 скобки и нажмите tab. Все очевидно же!
По мне так, вложенность - это именно та вещь которая вообще должна идти в спеке CSS из коробки и странно, что её до сих пор не добавили.
еще импорт штука отличная, в каком-то медленном варианте он уже есть в CSS.

// про компиляцию
Компилировать лучше на сервере и один раз. PHP библиотека справится даже с bootstrap и uikit (я лично проверял).
JS версию хорошо использовать если вы пишите на node.js (кажется тут таких нет) либо вам лень жать F5. я использую PHP. Вполне.

// это медленно!
У меня на хостинге такая монстрила как бустрап собрался меньше чем за 2 секунды.
Сомневаюсь что у большинства такие же сложные стили сайтах, поэтому для разработки на локале вполне.
ну и понятное дело, что нужно кешировать, причем хватит только 1 раз без какого либо lifetime


// less - только для больших проектов?
пфф... да ну вы бросьте. less упрощает писанину стилей и видно где что лежит, кто от кого зависит и просто добавляет удобств в коде.
Иначе зачастую стили одного блока размазываются по всему CSS. и
Название так и намекает, мол пиши "меньше".


// в моем шаблоне от рокетов (или любой другой ) less, как мне жить дальше?
Ну тут либо вы сами умеете верстать и берете за свою работу деньги или мучаетесь с чужими костылями =)
less тут как бы не причем, вопрос к тому кто делал шаблон и накрутил там логики (ну или RTFM).


// Как использовать в новом проекте? (ага, реклама себя родимого же)
Обновил свою пустышку и добавил в свой старый добрый чистый шаблон Joomla поддержку less / scss.
Смысл сводится к тому что мы просто правим *.less файл и все. Кеширование и компиляция автоматические. При изменение файла CSS обновится сам и даже обойдет кеш браузера.
Сборка идет только 1 раз
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: LESS - динамический CSS
« Ответ #38 : 09.09.2014, 23:17:25 »
Препроцессоры удобно использовать при разработке проекта, когда куча файлов. А перед продакшеном всё это легко собирается, компилится и сжимается грунтом.
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: LESS - динамический CSS
« Ответ #39 : 12.09.2014, 16:44:09 »
или гульпом
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: LESS - динамический CSS
« Ответ #40 : 13.09.2014, 00:23:46 »
Препроцессоры удобно использовать при разработке проекта, когда куча файлов.
Напротив, чем больше файлов - тем в большую задницу загоняют все эти лесы с сасами. Все ясно лишь на момент разработки. Спустя немного времени даже создатель файла будет материться в поисках нужного каскада.
А перед продакшеном всё это легко собирается, компилится и сжимается грунтом.
Т.е., весь хлам, который неизменно тащит за собой препроцессор собирается и жмется таск раннером. Это все равно что закидать весь мусор в шкаф и закрыть дверцу - типа убрался в комнате.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: LESS - динамический CSS
« Ответ #41 : 13.09.2014, 00:24:46 »
или гульпом
gulp "дружелюбнее" гранта, но пока слаборазвит в сравнении с последним.



Лесы и сасы - туфта полная. Можно использовать только для методологической разработки. Чего не могу сказать о CoffeeScript. Если CSS препроцессоры по большей части увеличивают объем работы, то их аналог в js сокращает. Сокращая объем кода, который требуется написать. Работает как автономно, так и в Task Runner'ах типа grunt или gulp.
« Последнее редактирование: 13.09.2014, 00:30:27 от al-teen »
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: LESS - динамический CSS
« Ответ #42 : 13.09.2014, 08:50:10 »
"На вкус и цвет фломастеры разные"
Лично я юзаю less, это в разы ускоряет разработку.

Напротив, чем больше файлов - тем в большую задницу загоняют все эти лесы с сасами. Все ясно лишь на момент разработки. Спустя немного времени даже создатель файла будет материться в поисках нужного каскада.
Нужно писать комментарии и всё будет гуд. Мои тиммейты в восторге, всё удобно и прозрачно, когда код разбит на логические части по файлам.
 
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: LESS - динамический CSS
« Ответ #43 : 13.09.2014, 10:15:11 »
Лесы и сасы - туфта полная. Можно использовать только для методологической разработки. Чего не могу сказать о CoffeeScript. Если CSS препроцессоры по большей части увеличивают объем работы, то их аналог в js сокращает. Сокращая объем кода, который требуется написать. Работает как автономно, так и в Task Runner'ах типа grunt или gulp.

CSS препроцессоры тоже уменьшают время и объем кода, которые требуется написать.
Например:
Код: css
background: repeating-linear-gradient(to right,#c0659c,#c0659c 20px,#e072aa 20px,#e072aa 40px);
Код: css
.stripe(#c0659c,#e072aa, 40px);


Единственное НО - это сначала нужно сделать миксины и потом с ними работать. Можно и на гитхабе найти, вот, например.

Также, допустим для создание сетки (иногда нужно самому делать велосипед):
Код: css
@box: 90px;
@box-margin: 30px;
@iterations: 4;
.loop (@index) when (@index > 0) {
    .width-@{index} {
        width: ( @box * @index ) + 2 * ( @box-margin * @index - @box-margin);
    }
    .loop(@index - 1);
}
.loop (0) {}
.loop (@iterations);
Это мне нужно было для фотогалереи как-то сделать. На выходе у меня:
Код: css
.width-4 {
  width: 540px;
}

.width-3 {
  width: 390px;
}

.width-2 {
  width: 240px;
}

.width-1 {
  width: 90px;
}

Можно, конечно сказать, что проще второе написать, но увы ... при переделках, когда сетку раздули побольше - я менял всего-лишь три переменных. Это конечно пример простенький, но возможности большие, можно довольно сложную сетку сделать, с медией и блэкджеком. Я делал, но куда-то далеко засунул. Вообщем надо только ширину контейнера, 3 медиа размера и кол-во ячеек ввести. А ... еще расстояние между ячейками.
И если пытаться БЭМить - тоже приятно код писать:
Код: css
.b-header {
    &__search {
    }
}   
Вообщем мне совсем непонятно, где у вас возникли трудности/неприятности/проблемы/неприязнь, мне нравится и время/кол-во кода сократилось.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

srg

  • Захожу иногда
  • 209
  • 41 / 1
Re: LESS - динамический CSS
« Ответ #44 : 13.09.2014, 12:58:15 »
И если пытаться БЭМить - тоже приятно код писать:
Код: css
.b-header {
    &__search {
    }
}    
Вообщем мне совсем непонятно, где у вас возникли трудности/неприятности/проблемы/неприязнь, мне нравится и время/кол-во кода сократилось.

Во во, тоже год назад перешел на less, оч удобная вещь если шаблон и стили под БЭМ делать.
Ставим sublime под него less интерпритатор и билдер, парой комбинаций компилится, на продакшн делается .min.css, проект сохраняется в "ящик".
А когда через пол годика заказчик присылает ТЗ на добавление какого-то блока, добавляем блок-модификатор, перекомпилим все. Не надо ничего копать в километрах CSS, вспоминать, вложенная структура less быстро выводит в нужную ветку. Удобно даже на маленьких проектах лендингах-визитках, когда заказчик может объявиться через несколько месяцев простоя и попросить что-то добавить.
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Re: LESS - динамический CSS
« Ответ #45 : 13.09.2014, 13:49:23 »
LESS однозначно хорош, но требует определённого понимания и сноровки для эффективного применения. PHP компилятор для Bootstrap 3.x
*

sm_denis

  • Захожу иногда
  • 441
  • 36 / 2
Re: LESS - динамический CSS
« Ответ #46 : 14.09.2014, 12:33:13 »
Ставим sublime под него less интерпритатор и билдер, парой комбинаций компилится, на продакшн делается .min.css, проект сохраняется в "ящик".

очень-очень-очень сложно. :)
Просто заливаю новый файл less и все. Сам один раз скомпилится и минимизируется, сам один раз закешируется, сам обновит кеш браузера пользователей.
А если использовать репу для проекта, то даже на ftp заходить не нужно.

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

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

fbr

  • Завсегдатай
  • 1672
  • 206 / 7
Re: LESS - динамический CSS
« Ответ #47 : 14.09.2014, 13:19:42 »
Может это некорректно сформулировано, но less дает возможность использовать преимущества ООП
Это одна из самых замечательных возможностей!
Практически, можно создать аналог класса с небольшими функциями и использовать их, по мере необходимости в рабочем коде

.function_borderbottom_width_shadow(@параметр) { ..... }

причем, этот код по-умолчанию не выводится в CSS!

Можно создавать библиотеки с наработками. Модульность кода - очень удобно, на мой взгляд :)
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: LESS - динамический CSS
« Ответ #48 : 17.09.2014, 20:57:11 »
правим *.less файл и все. Кеширование и компиляция автоматические. При изменение файла CSS обновится сам и даже обойдет кеш браузера.
Сборка идет только 1 раз

Для реализации есть какая-нибудь либа? Хотелось бы в своих шаблонах такую фичу иметь :)
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

sm_denis

  • Захожу иногда
  • 441
  • 36 / 2
Re: LESS - динамический CSS
« Ответ #49 : 18.09.2014, 07:25:46 »
Может это некорректно сформулировано, но less дает возможность использовать преимущества ООП
 ...
Можно создавать библиотеки с наработками. Модульность кода - очень удобно, на мой взгляд :)
Не ООП конечно, но да, принцип описали верный. Этого не понять пока не попробуешь.

Для реализации есть какая-нибудь либа? Хотелось бы в своих шаблонах такую фичу иметь :)
Вот наиболее удачная реализация со встроенным кешем http://lessphp.gpeasy.com/
Либо использовать наработки jblank.pro  из папки /php/libs/* по сути там тоже самое, только приближенно к Joomla
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: LESS - динамический CSS
« Ответ #50 : 18.09.2014, 10:17:34 »
Я, кстати, пару раз "напарывался" на нежелание работать phpless через пару месяцев и выкинул его. Не знаю как работают новые версии или другие наработки.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

sm_denis

  • Захожу иногда
  • 441
  • 36 / 2
Re: LESS - динамический CSS
« Ответ #51 : 18.09.2014, 10:21:42 »
Я, кстати, пару раз "напарывался" на нежелание работать phpless через пару месяцев и выкинул его. Не знаю как работают новые версии или другие наработки.
А что именно не работало?
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: LESS - динамический CSS
« Ответ #52 : 18.09.2014, 12:10:19 »
А что именно не работало?

CSS было пустое, LESS был ... ничто не менял, не делал
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: LESS - динамический CSS
« Ответ #53 : 19.09.2014, 19:11:16 »
Также, допустим для создание сетки (иногда нужно самому делать велосипед):
Код: css
@box: 90px;
@box-margin: 30px;
@iterations: 4;
.loop (@index) when (@index > 0) {
    .width-@{index} {
        width: ( @box * @index ) + 2 * ( @box-margin * @index - @box-margin);
    }
    .loop(@index - 1);
}
.loop (0) {}
.loop (@iterations);
Это мне нужно было для фотогалереи как-то сделать. На выходе у меня:
Код: css
.width-4 {
  width: 540px;
}

.width-3 {
  width: 390px;
}

.width-2 {
  width: 240px;
}

.width-1 {
  width: 90px;
}

Можно, конечно сказать, что проще второе написать, но увы ... при переделках, когда сетку раздули побольше - я менял всего-лишь три переменных. Это конечно пример простенький, но возможности большие, можно довольно сложную сетку сделать, с медией и блэкджеком. Я делал, но куда-то далеко засунул. Вообщем надо только ширину контейнера, 3 медиа размера и кол-во ячеек ввести. А ... еще расстояние между ячейками.
И если пытаться БЭМить - тоже приятно код писать:


Что мешает обозначить сетку в отдельном месте и использовать ее классы? Без лесов. Какая от этого практическая польза, кроме выпендрёжа? (вроде как посмотрите чего я на препроцессоре сделал)
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: LESS - динамический CSS
« Ответ #54 : 19.09.2014, 19:29:07 »
Что мешает обозначить сетку в отдельном месте и использовать ее классы? Без лесов. Какая от этого практическая польза, кроме выпендрёжа? (вроде как посмотрите чего я на препроцессоре сделал)
Работа - это и есть практическая польза. Данные пример из работы, которая сделана, сдана, оплачена, практичнее некуда. На момент разработки сетка переделывалась несколько раз и правки этой сетки сохранили время и нервы. Выпендрёж - а перед кем и зачем, и как? Все имеют под рукой Google и кто хочет - найдет, и кораздо более практичные примеры. Если я чем-то поделился - то я поделился чем-то, не более.

Собственно понятно одно - не нравится LESS - ну и ладно ... я любить его не заставлю и не хочу пытаться. Мне все-равно. Кому он нравится, кто его использует и понимает его практическую пользу - то с теми я готов делится своими знаниями.

Я кстати не совсем понял вот это:
Что мешает обозначить сетку в отдельном месте и использовать ее классы?
Я мало общаюсь по разработке и некоторые фразы не понимаю.
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: LESS - динамический CSS
« Ответ #55 : 19.09.2014, 21:23:33 »
Работа - это и есть практическая польза. Данные пример из работы, которая сделана, сдана, оплачена, практичнее некуда. На момент разработки сетка переделывалась несколько раз и правки этой сетки сохранили время и нервы. Выпендрёж - а перед кем и зачем, и как? Все имеют под рукой Google и кто хочет - найдет, и кораздо более практичные примеры. Если я чем-то поделился - то я поделился чем-то, не более.

Собственно понятно одно - не нравится LESS - ну и ладно ... я любить его не заставлю и не хочу пытаться. Мне все-равно. Кому он нравится, кто его использует и понимает его практическую пользу - то с теми я готов делится своими знаниями.

Я кстати не совсем понял вот это: Я мало общаюсь по разработке и некоторые фразы не понимаю.
Практическая польза - это безошибочный результат в наименьшие сроки. Сколько времени занял первый пример через препроцессор и сколько бы времени занял второй, без него? Вполне допускаю вариант, когда рука набита настолько, что все делается на автомате. Но давайте сравнивать объем кода? Можно даже по символам посчитать, хотя это может быть не совсем объективная оценка. Еще стоит отметить редактирование через web developer tools. Особенно, если код генерируется "на лету". И не ты являешься разработчиком текущего кода.

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

Обозначение классов сетки - это Ваш второй пример. Это относится к базовому каркасу документа и делается в самом начале. Один единственный раз. Если будут другие элементы, использующие те же параметры, то достаточно добавлять их идентификаторы в стек через запятую. Я знаю, что Вы это знаете. Но это то, что будет на выходе после компиляции препроцессором "переменных".
*

sm_denis

  • Захожу иногда
  • 441
  • 36 / 2
Re: LESS - динамический CSS
« Ответ #56 : 20.09.2014, 05:20:13 »
Эффективность начинается когда вместо 5-8 строк для градиента нужно написать лишь 1.

Сравним:
Код: css
.class {
    .gradient(#ddd, #fff);
}

вместо (взято из последнего BS)
Код: css
.class {
    background-color: #ebebeb;
    background-image: -moz-linear-gradient(top, #dddddd, #ffffff);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#dddddd), to(#ffffff));
    background-image: -webkit-linear-gradient(top, #dddddd, #ffffff);
    background-image: -o-linear-gradient(top, #dddddd, #ffffff);
    background-image: linear-gradient(to bottom, #dddddd, #ffffff);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdddddd', endColorstr='#ffffffff', GradientType=0);
}

В итоге
 - 10 абсолютно разных градиентов занимают 10 строк, а не 50-80.
 - изменить цвет проще
 - не нужно помнить префиксы и изумительные особенности разных браузеров
 - в код смотреть приятнее
 - набрать ".gradient(#ddd, #fff);" в разы быстрее и приятнее чем 8 строк выше.
 - для разных типов градиентов давно существуют десяток надежных миксов.

Минусы
 - нужно 1 раз позаботиться о фоновой автокомпиляции+кешировании, так чтобы php сам проверял нужно ли обновлять CSS.

Код: css
/* Хочется под углом в 37 градусов? */
.directional (#ddd, #fff, 37deg);

/* Хочется в 3 цвета горизонтальный? */
.horizontal-three-colors (#00b3ee, #7a43b6, 50%, #c3325f);

/* Хочется в 3 цвета вертикальный? */
 .vertical-three-colors (#00b3ee, #7a43b6, 50%, #c3325f);

а на голом CSS это выглядит отвратительно.
и это только 1 фича - примеси.

Добавим вложенность и получаем минимум кода и очевидность происходящего
Код: css
.class {
    .border-radius(6px);
    .gradient(#ddd, #fff);
    .clearfix();
    &:hover {
        .opacity(80);
    }
}

вместо
Спойлер
[свернуть]

Давайте сравним объем кода и удобства поддержки? =)
« Последнее редактирование: 20.09.2014, 06:37:03 от sm_denis »
*

sm_denis

  • Захожу иногда
  • 441
  • 36 / 2
Re: LESS - динамический CSS
« Ответ #57 : 20.09.2014, 05:59:47 »
Еще стоит отметить редактирование через web developer tools. Особенно, если код генерируется "на лету". И не ты являешься разработчиком текущего кода.
Не вопрос. Chrome (из коробки) и Firefox (тоже из коробки) поддерживают маппинг стилей
Кажется в последнем можно даже редактировать их прямо из браузера с сохранением (сам не пробовал, т.к вполне устраивает Chrome)
https://hacks.mozilla.org/2014/02/live-editing-sass-and-less-in-the-firefox-developer-tools/



по клику на less-файл перебросит на правило, которое создало стиль


Включайте в настройках браузера, а потыкать можно тут

Даже браузеры это поддерживают, а кажется их делают далеко не глупые люди и не добавляют в него лишние функции. И Joomla туда же подалась...
Думаю скоро CSS-препроцессоры станут де-факто стандартом, а вложенность и примеси давно пора включить в стандарт нативно.


« Последнее редактирование: 20.09.2014, 06:43:54 от sm_denis »
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: LESS - динамический CSS
« Ответ #58 : 20.09.2014, 13:22:19 »
Не вопрос. Chrome (из коробки) и Firefox (тоже из коробки) поддерживают маппинг стилей
Кажется в последнем можно даже редактировать их прямо из браузера с сохранением (сам не пробовал, т.к вполне устраивает Chrome)
https://hacks.mozilla.org/2014/02/live-editing-sass-and-less-in-the-firefox-developer-tools/



по клику на less-файл перебросит на правило, которое создало стиль


Включайте в настройках браузера, а потыкать можно тут

Даже браузеры это поддерживают, а кажется их делают далеко не глупые люди и не добавляют в него лишние функции. И Joomla туда же подалась...
Думаю скоро CSS-препроцессоры станут де-факто стандартом, а вложенность и примеси давно пора включить в стандарт нативно.

Знаю. Иногда глючит.

Препроцессоры стандартом никогда не станут. А примеси и вложенности уже присутствуют в CSS - смотрите ссылки выше, на w3c и пр.
*

sm_denis

  • Захожу иногда
  • 441
  • 36 / 2
Re: LESS - динамический CSS
« Ответ #59 : 20.09.2014, 13:35:40 »
Препроцессоры стандартом никогда не станут. А примеси и вложенности уже присутствуют в CSS - смотрите ссылки выше, на w3c и пр.
Поэтому и "де-факто".

И когда же новые стандарты w3c дойдут до IE и всех-всех-всех ?))
Поддержка простейшей фичи на данный момент - http://caniuse.com/#feat=css-variables

Что уж говорить о реально нужных вещах, чем переменные какие-то... :dry:
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Bootstrap — плавающая ширина + динамический дизайн

Автор wfedin

Ответов: 0
Просмотров: 1844
Последний ответ 26.11.2012, 20:08:58
от wfedin