Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
27 мая 2015, 11:21
0
Согласен.
А менять дату заселения наверное стоит запретить
Тут непростой вопрос. А если он созвонился с пользователем и тот решил изменить дату.
Сергей Шлоков
27 мая 2015, 10:54
0
Нет. Не до конца понимаю как это должно выглядеть. Т.е. админ изменил бронь, а пользователю идет письмо — «Вы бронировали номер на июль, а мы перенесли ее на январь»? Может быть админу запретить изменять бронь.
При удалении наверно нужно написать чего-то.
П.С. Услышать бы мнение знающих тему.
Сергей Шлоков
27 мая 2015, 10:38
0
Думаю, что не очень подходит. Столики — это почасовое бронирование, а тут минимальный период — 1 день.
Сергей Шлоков
27 мая 2015, 09:36
0
На сколько вот такая запись правильная?
Правильная. Но будет еще правильнее добавить сниппету параметр outerTp по-умолчанию со значением
<ul>[[+wrapper]]</ul>
Тогда вызывать можно также [[!mySnippet]]
Сергей Шлоков
19 мая 2015, 21:37
0
Думаю, эту задачу надо будет делать для дальнейшего развития и популяризации магазина. Ребятам надо взять это на заметку.
Сергей Шлоков
19 мая 2015, 18:21
0
Да я без претензий, поэтому и написал «справедливости ради».
Сергей Шлоков
19 мая 2015, 18:18
+2
Поздравляю автора этого дополнения. Может нумеровать дополнения для информации?
Сергей Шлоков
19 мая 2015, 18:16
+2
Как говориться, хорошее дело не останется безнаказанным. :) глядишь и западные программисты подтянутся.
Сергей Шлоков
19 мая 2015, 16:48
0
А если все домены в разных доменных зонах? И новые домены будут добавляться непонятно каких зон? Как автоматизировать этот момент?
Админ для начала должен будет создать контекст со всеми настройками и это никак не автоматизируешь. А уж добавить за 2 секунды еще одну зону я думаю он будет в состоянии.
В конце концов можно регулярку сделать более универсальной — убрать зоны.
Сергей Шлоков
19 мая 2015, 16:45
0
Ну не пользователи же добавляют домены и языки. Это работа админа :)
Сергей Шлоков
19 мая 2015, 16:28
0
Ну, справедливости ради, хотел бы заметить, что я предлагал другое решение, попроще и с минимальным количеством запросов к БД.
Создаем контексты для все языков с ключами host-language — site1-ru (для site1.ru), site1-en (для site1.ru/en/), site2-ru (для site2.ru), site2-en (для site2.ru/en/). Контекст web не рабочий. В нем одна страница 404.
Вот плагин.
<?php
// Работаем только на фронтенде
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

$alias = $modx->getOption('request_param_alias', null, 'alias', true);
$request = &$_REQUEST[$alias];

// Определяем язык папки из URL
preg_match('|/(.*)/|', $_SERVER['REQUEST_URI'], $m);
$lang = trim($m[1]);
//Сравниваем с языками из массива. Языки указывает админз, он знает какие, незачем делать запрос к БД
if (! in_array($lang,array('en','de','sp'))) $lang = 'ru';

// Определяем домен
preg_match('/(.+)(\.com|ru)/', $_SERVER['HTTP_HOST'], $m);
$host = trim($m[1]);
//Формируем ключ контекста
$context = $host.'-'.$lang;
//Проверяем наличие контекста, если есть, переключаем
if ($modx->getCount('modContext', $context)) {
    $modx->switchContext($context);
    $request = preg_replace('/^'.$lang.'\//', '', $request);
}
//Если контекст не найден, то остаемся в контексте web, у которого страница 404 (заглушка).
Сергей Шлоков
19 мая 2015, 08:46
+1
Реально большой прорыв. Отличная новость!
Сергей Шлоков
18 мая 2015, 09:00
0
Чего-то ты усложнил, я проще предлагал.
Если доступ есть, вышли на почту, попробуем вместе.
Сергей Шлоков
17 мая 2015, 19:44
+1
Проблема во внимательности. Главное не перепутать сайты, когда работаешь. :)
Иногда от усталости при копировании с локалки на рабочий сайт ошибаешься и копируешь наоборот, а потом мучаешься, почему не работает.
Сергей Шлоков
17 мая 2015, 19:34
+2
Ну логика может быть такая: у каждого контекста указываешь ключ в стиле host_language, т.е. site1_ru,site1_en.
А в плагине разбираешь запрос и формируешь ключ контекста.
<?php
// Работаем только на фронтенде
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}
// Определяем запрашиваемый хост (отрезаем <b>.ru</b>)
preg_match('/(\S+)\.ru/',$_SERVER['HTTP_HOST'],$matches);
$host = $matches[1];

//Определяем папку  /ru/ или /en/ из запроса (через preg_match или типа того)
$lang = ...;
//Получаем ключ контекста
$context = $host.'_'.$lang;
//Переключаемся.
$modx->switchContext($context);
А как с этим будет справляться админка и админ, это вопрос.
Сергей Шлоков
17 мая 2015, 11:50
0
Для ajax запроса лучше делать так
1. Запрос
2. Открываем сессию
3. Записываем в сессию.
4. Закрываем сессию session_write_close();
У меня проблем с сессиями нет.
Сергей Шлоков
17 мая 2015, 09:37
0
А изменения через ajax?
Сергей Шлоков
17 мая 2015, 09:33
0
Девственницы вроде Берковой? Нет, они чисты. :)
Всё проще. Размещение нового дополнения в modstore занимает до 5 рабочих дней. Новолуние завтра. Немного геометрии и получаем ответ, что скоро будет. :)