Роман Садоян

Роман Садоян

Был в сети 09 мая 2019, 17:09
Заказы не принимаю
Пользуйся, только осторожно!
Добавил: При восстановлении конфигов — очищает /core/cache
#!/bin/bash

USER=$1
if [ "$USER" == "" ];
then
USER=$(getent passwd $UID | sed -e 's/\:.*//')
fi

# Home directory
HOME=$(getent passwd $USER)
HOME=${HOME#*:/}
HOME='/'$(echo $HOME | cut -f1 -d:)
# Site directory
SDIR=$HOME'/www'
# Backup directory
BDIR=$HOME'/config_backup'

echo 'Running for user "'$USER'"'
echo "Enter mode (1 - backup config; 2 - restore config; 0 - exit):"
read MODE

if [ "$MODE" == "1" ];
then
    if ! [ -d $BDIR ]; then
    echo 'Backup directory '$BDIR' is not exists. Creating'
    mkdir $BDIR
    fi
cp $SDIR/connectors/config.core.php $BDIR
cp $SDIR/core/config/config.inc.php $BDIR
chown -R $USER:$USER $BDIR
echo "Done."
elif [ "$MODE" == "2" ];
then
cp $BDIR/config.core.php $SDIR
cp $BDIR/config.core.php $SDIR/connectors
cp $BDIR/config.core.php $SDIR/manager
cp $BDIR/config.inc.php $SDIR/core/config
chown $USER:$USER $SDIR/config.core.php
chown $USER:$USER $SDIR/connectors/config.core.php
chown $USER:$USER $SDIR/manager/config.core.php
chown $USER:$USER $SDIR/core/config/config.inc.php
rm -rf $SDIR/core/cache/
echo "Done."
elif [ "$MODE" == "0" ];
then
exit;
else
echo "Unknown MODE. Do nothing. Exit."
exit;
fi
Или я снова путано объяснил?
скопировать заранее конфиги в новом месте для сайта, чтобы потом руками не менять везде пути и логин/пароль к БД.
Я вот почему то подумал про конфиги со старого сайта.

А теперь всё ясно, конец беготне по /manager/ /core /connectors/ и правке конфигов.

Закину в избранное, люблю баш скрипты =)

Спасибо!
Тебя никто не осуждает, твое мнение интересно, скажи пожалуйста, какие были проблемы с кэшем? Просто я при разработке при помощи Gulp, статических шаблонов, реально попарился с отключением кэширования. Не знал что «отключить глобальное кэширование» не отключает его целиком, необходимо было так же отключать частичное кэширование ресурсов.
Кэширование реально мощное, что страницы отдаются практически моментально. При посещении от 1000 пользователей, WP очень сильно начинает грузить сервер, однако MODX на том же сервере держит нагрузку нормально. Я говорю об обычном файловом кэшировании. В WP я использовал WP Cache — но скорость ответа от сервера у MODX выше при равных составляющих.
Расскажи о своем опыте — интересно почитать!
Минусы, кэширование модх
Ага, такой жирный минус, что приходится на Develop аж 3 системные настройки кэша вырубать, что бы этот монстр перестал кэшировать абсолютно всё.
Если сравнивать механизмы кэширования то MODX тут просто Леброн Джеймс, а WP с Плагином WP Cache — мальчик 3х лет играющий с мячиком.

В целом для визиток-корпоративных-интернет магазинов использую модх
Для блого-ориентированных, портальных wordpress
Правильный выбор инструментов лишает головной боли. Тут согласен, но в портальных использовал бы Modx + Tickets и вот он портал.
Общие страницы есть, например Реклама, Контакты, Подукция.
Далее идут города каждый со своими страницами.

В случае с чанками, для того, что бы построить меню от Города до ресурса, мне бы пришлось указывать, что самый первый элемент это контейнер нужного города.
Из-за этого мне бы пришлось использовать разные шаблоны и чанки для городов, а это слишком много. А в случае с контекстом с parent =0 и всё.
Если я не прав, то подскажи как быть.
Затем, что разграничить доступ к админке для разных городов проще и лучше с контекстами, чем ресурсами.

Тогда как я буду строить меню для каждого контекста? Мне нужно будет строить до родительского ресурса — получается я буду плодить чанки и шаблоны.
Павел, а если необходимо организовать более 14 городов.
Где у каждого города свои ресурсы.
Использовать контексты? И если использовать контексты, то как быть с Ajax запросами, когда JS обращается по ссылке к ресурсу с пустым шаблоном, где вызывается сниппет, который отрабатывает этот ajax запрос и выдает результат.
В случае с контекстами url будут следующими: site.ru/msk/ site.ru/spb/ придется плодить данные ресурсы в каждом контексте или обращаться в один контекст?
if ($modx->event->name == 'OnDocFormSave' ) {
// Делаем проверку на родителя, если нужно
// ID родителя лучше вынести настройку client_config или в настройки
if ($resource->get('parent') == 30) { // Мы получаем id родителя у объекта $resource, где хранится только что опубликованный ресурс
echo 'ok';
}

}
Этот код пишется в плагине, также ставится галочка на событие OnDocFormSave