Nikita
С нами с 18 февраля 2013; Место в рейтинге пользователей: #314Nuxt.js - быстрый старт
Продолжаем цикл заметок про Vue + Nuxt.
После вводного рассказа о положении дел на рынке, пришла пора попробовать нашего монстрика в деле. Сделать это совсем несложно — нам нужен только установленный Node.js. Дальше идём на nuxtjs.org/guide/installation и читаем, что нужно сделать.
Внимание, сайт хостится на Digital Ocean, который переодически блокируется нашим грозным РКН, так что вам может потребоваться VPN. Лично я читаю документацию в Opera — VPN там встроенный.
Дальше делаем npx create-nuxt-app и отвечаем на вопросы. Лично я выбираю пакетный менеджер Yarn и UI фреймворк Bootstrap-Vue. Из дополнений тащим Axios для сетевых запросов и поддержку PWA. Линтер и тесты нам пока ни к чему, режим работы — Universal (про это позже).
После вводного рассказа о положении дел на рынке, пришла пора попробовать нашего монстрика в деле. Сделать это совсем несложно — нам нужен только установленный Node.js. Дальше идём на nuxtjs.org/guide/installation и читаем, что нужно сделать.
Внимание, сайт хостится на Digital Ocean, который переодически блокируется нашим грозным РКН, так что вам может потребоваться VPN. Лично я читаю документацию в Opera — VPN там встроенный.
Дальше делаем npx create-nuxt-app и отвечаем на вопросы. Лично я выбираю пакетный менеджер Yarn и UI фреймворк Bootstrap-Vue. Из дополнений тащим Axios для сетевых запросов и поддержку PWA. Линтер и тесты нам пока ни к чему, режим работы — Universal (про это позже).
AdminRevolution. Быть или не быть?
Привет, друзья!
Есть тема для дискуссии. Как вы знаете, дела в лагере разработчиков MODX не очень. Если глянуть на список пользователей, то многие из топа уже покинули этот лагерь. Недавно сообщество потеряло главного амбассадора. Да и номер первый, как мы знаем, с MODX контактирует только на старых проектах. Конечно это удручает. Но такова жизнь. Так происходит везде. Это не ноу-хау MODX. Рынок разработки стремительно меняется. Приходят новые технологии, языки, подходы. Сайты становятся сложнее. Рынок простых CMS сужается. Конкуренция становиться жёстче. И тут MODX сильно проигрывает. Несмотря на то, что он не хуже Вордпресса, Джумлы и Битрикса, новых разработчиков он привлекает всё меньше и меньше. И это самое плохое. Старые и опытные разработчики будут уходить какую бы супер-пупер систему вы не сделали, а вот новых привлечь — задача наиважнейшая.
Есть тема для дискуссии. Как вы знаете, дела в лагере разработчиков MODX не очень. Если глянуть на список пользователей, то многие из топа уже покинули этот лагерь. Недавно сообщество потеряло главного амбассадора. Да и номер первый, как мы знаем, с MODX контактирует только на старых проектах. Конечно это удручает. Но такова жизнь. Так происходит везде. Это не ноу-хау MODX. Рынок разработки стремительно меняется. Приходят новые технологии, языки, подходы. Сайты становятся сложнее. Рынок простых CMS сужается. Конкуренция становиться жёстче. И тут MODX сильно проигрывает. Несмотря на то, что он не хуже Вордпресса, Джумлы и Битрикса, новых разработчиков он привлекает всё меньше и меньше. И это самое плохое. Старые и опытные разработчики будут уходить какую бы супер-пупер систему вы не сделали, а вот новых привлечь — задача наиважнейшая.
Nuxt.js - введение
В последнее время в нашем сообществе было много комментариев о будущем MODX, его соответствии времени, и о том, какие технологии сегодня нужно изучать, чтобы не потерять актуальность.
Куда податься, какой фреймворк использовать. Может быть Laravel? Или это слишком сложно, стоит попробовать OctoberCMS? На мой взгляд, смотреть на проблему нужно чуть шире.
Всё, что видит посетитель вашего сайта — это HTML + CSS + JS. Он не знает, каким движком вы их сгенерировали, он не знает, как он работает. Он видит только frontend, а как работает backend — ему без разницы.
Поэтому в 2019 году я советую всем сосредоточиться именно на фронтенде. На максимально приятном и плавном общении пользователя с сайтом, который может быть достигнут современным javascript.
А для этого, очевидно, вам нужно учить современный javascript.
Куда податься, какой фреймворк использовать. Может быть Laravel? Или это слишком сложно, стоит попробовать OctoberCMS? На мой взгляд, смотреть на проблему нужно чуть шире.
Всё, что видит посетитель вашего сайта — это HTML + CSS + JS. Он не знает, каким движком вы их сгенерировали, он не знает, как он работает. Он видит только frontend, а как работает backend — ему без разницы.
Поэтому в 2019 году я советую всем сосредоточиться именно на фронтенде. На максимально приятном и плавном общении пользователя с сайтом, который может быть достигнут современным javascript.
А для этого, очевидно, вам нужно учить современный javascript.
Простой(или нет) способ обновить кеш страницы у клиента.
Столкнулся с такой ситуацией: клиент захотел сделать рескин сайта, я всё переверстал, но штука в том, что все картинки закешированы в браузерах у тех, кто уже был на сайте, и если с файлами стилей или яваскриптом я могу сделать style.css?ver=2 с сылкой на стильник, то все картинки во всех шаблонах и чанках так не обновишь.
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с Last-modified, но я до него недогуглился.
Тогда я решил сделать простой плагин на событие OnWebPagePrerender, который бы перехватывал страницу перед отправкой пользователю и просто менял все урлы для картинок:
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с Last-modified, но я до него недогуглился.
Тогда я решил сделать простой плагин на событие OnWebPagePrerender, который бы перехватывал страницу перед отправкой пользователю и просто менял все урлы для картинок:
<?php
if ($modx->event->name == 'OnWebPagePrerender') {
$output = &$modx->resource->_output;
$output = str_replace('.png',".png?ver=" . $modx->getOption('assets_version'),$output);
$output = str_replace('.jpg',".jpg?ver=" . $modx->getOption('assets_version'),$output);
}
Оптимизация сайта на MODX
Мне дали задание оптимизировать сайт https://mebmart.by для https://developers.google.com/speed/pagespeed/insights/. Я с задачей оптимизации сталкиваюсь первый раз. К сожалению, инструкций по оптимизации сайта на MODX не нашел. Поэтому хочу сделать такую инструкцию. Надеюсь, в комментариях, более опытные разработчика подскажут что и как еще можно сделать.
Лечение зараженных сайтов на modhost.pro
Привет, друзья!
Как многие уже заметили, в MODX недавно обнаружили критическую уязвимость. Заключается она в том, что одним простым запросом можно залить произвольный файл на сайт, и выполнить его. Это может быть шел, вредоносный скрипт, что угодно.
Простота атаки и беспечность владельцев сайтов привели к тому, что я уже неделю разгребаю последствия этой атаки на modhost.pro. Итак, что нужно делать, чтобы вылечить свои сайты?
Как многие уже заметили, в MODX недавно обнаружили критическую уязвимость. Заключается она в том, что одним простым запросом можно залить произвольный файл на сайт, и выполнить его. Это может быть шел, вредоносный скрипт, что угодно.
Простота атаки и беспечность владельцев сайтов привели к тому, что я уже неделю разгребаю последствия этой атаки на modhost.pro. Итак, что нужно делать, чтобы вылечить свои сайты?
Как авторизировать пользователя?
Здравствуйте. Встала необходимость через php авторизировать пользователя. Я знаю как это сделать на процессорах, но там нужен пароль. А есть ли возможность авторизировать пользователя по логину, без пароля?
Изменяем форму заказа minishop2
Gallery как ТВ
Всем привет!

Помню уже давно возникал вопрос, как вывести превью фотографий для TV Gallery.
В Интернете есть готовое решение, но нет готового пакета (вроде бы).
Поэтому я решила исправить данный пробел.
тут лежит мой fork https://github.com/wax100/Gallery
а тут — собранный пакет, но версия там 1.5.3 https://yadi.sk/d/kkRsf37r3SCnGS
Может стоит в настройках вручную указать последнюю версию 1.7.0?
Ставить лучше после удаления Gallery (не проверяла как встанет на уже установленную).
В общем, пробуйте и пишите комменты
Инструкция.
Создать ТВ и выбрать там galleryalbumview
Пользоваться)
PS отправила автору пулреквест, надеюсь все верно

Помню уже давно возникал вопрос, как вывести превью фотографий для TV Gallery.
В Интернете есть готовое решение, но нет готового пакета (вроде бы).
Поэтому я решила исправить данный пробел.
тут лежит мой fork https://github.com/wax100/Gallery
а тут — собранный пакет, но версия там 1.5.3 https://yadi.sk/d/kkRsf37r3SCnGS
Может стоит в настройках вручную указать последнюю версию 1.7.0?
Ставить лучше после удаления Gallery (не проверяла как встанет на уже установленную).
В общем, пробуйте и пишите комменты
Инструкция.
Создать ТВ и выбрать там galleryalbumview
Пользоваться)
PS отправила автору пулреквест, надеюсь все верно
Сортировка поля size в Minishop2
Ввожу размер товара в поле size (S,M,L,XL,XXL), далее сохраняю товар.

Обновляю страницу в админке и поле меняет сортировку (XXL,XL,L,M,S)

На странице сайта тоже самое. При входе на страницу товара одна сортировка. При обновлении страницы другая.

Обновляю страницу в админке и поле меняет сортировку (XXL,XL,L,M,S)

На странице сайта тоже самое. При входе на страницу товара одна сортировка. При обновлении страницы другая.
{'!msOptions' | snippet:[
'options'=>'size',
'tpl'=>'m_msOptions',
]}
{foreach $options as $name => $values}
{foreach $values as $value}
<input type="radio" value="{$value}" id="{$value}" name="options[{$name}]"><label for="{$value}">{$value}</label></option>
{/foreach}
{/foreach}