SmartControl
Разрабатываю нативное мобильное приложение под IOS и Android
+237
Репутация
3946
Рейтинг
файл install.sql нужен для дополнительных операций с БД, строка компонента вносится в cms_controllers движком, для виджета то же самое.
Точнее их можно использовать только в функции addHead - там все что хочешь.. И атрибуты, и теги и тд.. И все выведется сверху.
Я бы добавил - лишь единицы могут разрабатывать компоненты, поэтому можно не париться)) Позиция не супер для универсальной CMS.. Нужно добавлять и атрибуты (атрибуты может быть важнее и приоритетнее - да и проще) и вывод внизу - я все-таки думаю, что должна быть универсальность.
Какой -то забавный спор выходит. Первая позиция - "надо сделать универсальней". Вторая - "да ладно, и так пойдет". Если пойдет, то конечно можно не продолжать) Как-нибудь и так будет работать, работало же раньше, можно и не пытаться сделать лучше и быстрее - не пойдем на поводу у гугломерок.
Для нормальных посещаемых сайтов и 70 мсек имеют значение если это задержка только от одного компонента. которых могут быть десятки.
Не вижу подобных проверок при создании группы. И нет хуков при создании, чтобы этим как-то управлять. То есть только влезая в код этого можно достичь.
Fuze, просьба без конкретики - добавляйте, пожалуйста, максимально хуки на все операции. Не знаю как об этом лучше писать - могу на github подниматься вопрос, явно указывая место и хук, который хотелось бы там видеть. Тогда даже если в движке чего-то нет, можно будет допиливать сторонними компонентами, перехватывая события. Хуков не хватает..
Костылями я и сам могу что угодно провернуть, но дело в том, что пользователи моего компонента "костылять" не будут, я их и просить об этом не стану..
Я вас прекрасно понимаю, про is_async и is_defer, но сейчас это костыли.
Я нашел решение, как буду делать для своих компонентов.. Это будет просьба для пользователей добавить хук в перед </body>, в противном случае загрузка в head c атрибутом async - это не самый плохой вариант.
Простой пример. У меня есть компонент, который грузит 200кб скриптов - я их подключаю у себя снизу (добавил хук "print_footer"), потому что незачем тратить время на загрузку пользователем 200кб скрипта. Но я не могу дать пользователям такую возможность без правок шаблона, а добавлять такое требование к компоненту не хочу - это усложняет использование компонента.. В итоге получается все пользователи вынуждены замедлять загрузку страницы из-за одного компонента, который этого даже не требует - ему все-равно где и что подгружать.
Решение для себя вижу в добавлении доп настроек - если пользователь руками хочет добавить хук, то скрипт будет подключаться внизу. Если не хочет, то сверху со всеми вместе.
Нельзя массово переносить скрипты вниз. этим нужно управлять. Не все скрипты приводят к "подмигиванию", какие-то можно безболезненно убрать вниз.
Мгновенные сообщения для пользователей приложения, так и в случае сайт->смартфон (пишут на сайте, мгновенно улетает в приложение) и смартфон->сайт (пишут в приложении, мгновенно получает пользователь на сайте).
Это проблема в магазине была, быть может закешировал что-то и не те ссылки отдает. Сейчас проблемы нет, я еще раз закинул версию специально под обновление InstantCMS 2.8.1.
Кину по пунктам:
1. Время последнего обновления некорретное " Последнее обновление: 17 часов назад " - на самом деле обновил только что. Понял почему.. Видимо в каталоге не пишутся часы-минуты-секунды. И 17 часов это от полуночи.
2. Я не могу обновить компонент, который у меня уже установлен. При "установке" через сервис запускаются запросы из install.sql из пакета и выскакивает ошибка (логично). А при установке руками не записывается addon_id. Пока решение вижу только если руками записать addon_id в БД. Может есть вариант сделать так, что если компонт уже установлен, то загружать обновление, а не установку с нуля?
3. При установке из каталога появляется форма для выбора файла либо указания URL - на самом деле ничего указывать не нужно, потому что установка с каталога.