Dmitry Rodionov

Dmitry Rodionov

С нами с 01 сентября 2013; Место в рейтинге пользователей: #155
Dmitry Rodionov
22 мая 2015, 18:46
+2
Во-первых, должно быть отношение с заказчиком нормальное, я считаю, тогда он не будет удалять ссылку, плюс обычно сайт нуждается в доработках постоянно так что обслуживание сайта как минимум не даст удалить ссылку.
Во-вторых, ссылку можно и не ставить, не думаю что это так необходимо, портфолио есть, знания тоже, а это главное.
В-третьих, можно поставить ссылку через php, зашить в код, включить проверки подобные проверкам лицензии, но есть же CSS и JS которые могут так же легко скрыть ссылку, стоит ли оно того?
Dmitry Rodionov
22 мая 2015, 01:23
+1
Если TV выводится со слешем то скорее всего косяк именно в настройках TV
можно попробовать такой фокус
.[[+tvname]]
в итоге будет
/./input.csv
Dmitry Rodionov
22 мая 2015, 01:21
0
Все нормально работает и в лисе и в ие
Dmitry Rodionov
22 мая 2015, 01:09
0
сдампить через httrack или teleport
Dmitry Rodionov
22 мая 2015, 01:09
0
оплата курьером? я думаю как минимум эти пункты равнозначные нельзя выбрать оплату курьером и яндекс деньги

если речь шла о доставке курьером, то расширить модуль доставки или оплаты к примеру
Dmitry Rodionov
19 мая 2015, 19:48
0
По ссылке:
macinatorul.com/bg/
Выдает:
host_language: bazstudio.com_ru
а должен macinatorul-ru
особенно если разные дизайны будут и наполнение это сильно будет влиять

хотя чего я доказываю, если устраивает как работает, пожалуйста ;)
Dmitry Rodionov
19 мая 2015, 19:06
0
надо чтобы на первом домене где web было больше языков чем на втором, пример

bazstudio.com/ — web
bazstudio.com/en/ — en
bazstudio.com/ro/ — ro
macinatorul.com/ — macinatorul-ru
macinatorul.com/en/ — macinatorul-en

при обращении к macinatorul.com/ro/
будет показываться 404 с bazstudio.com, а не с macinatorul.com
Dmitry Rodionov
19 мая 2015, 17:58
0
переключение контекста в какой момент идет? и по каким критериям? и по каким критериям он может не переключится, а лучше конечно взять да протестировать на домене который не в контексте web
Если считаешь что правильно все, то ладно)
Dmitry Rodionov
19 мая 2015, 17:48
0
ну если по одному домену выдается информация с другого — странно это выглядит как минимум

2. Проверки на несуществующие языки типа /de/ решаются просто — достаточно во всех контекстах сайта прописать настройку страницы 404 [error_page] для каждого контекста отдельно, даже для web. Тогда если человек пройдёт по несущесвующей ссылке site2.ru/de/, то он попадёт на 404-ю страницу, которая указана сайту site2.ru
судя по твоему коду, будет не найден ключ вида host_language и по умолчанию показан контекст web
Dmitry Rodionov
19 мая 2015, 16:36
0
если будет 2 домена site1.ru и site1.eu к примеру, надо будет немного подправить вариант ;)
Dmitry Rodionov
19 мая 2015, 15:28
0
Хочешь чтобы я написал решение или сам?
План такой:
1)берем контексты по домену, если их нет показываем что-то по умолчанию(web например)
2)если контексты нашли проверяем язык внутри них, если наш язык не найден — берем первый контекст или контекст по-умолчанию и выбираем его
3)если найден контекст с нужным языком — берем его

Dmitry Rodionov
19 мая 2015, 15:23
0
дополнительная проверка по контексту интересна, но наверное надо сделать что-то одно чтобы управлять было удобнее и прозрачнее
$context=$host.'-'.$lang;

if ($modx->getCount('modContext', $context)) {
    $modx->switchContext($context);
    $request = preg_replace('/^'.$lang.'\//', '', $request);
}
Dmitry Rodionov
19 мая 2015, 15:20
0
текущий контекст это какой? разумнее сделать именно выборку домена а потом уже дефолтного контекста в рамках домена, это при условии что отсечение по домену идет по DNS, т.е. невозможно запросить домен которого нет, хотя на этот случай тоже можно сделать проверку и выдавать домен заглушку или домен по-умолчанию
Dmitry Rodionov
19 мая 2015, 15:15
0
я подумал об этом же, кстати на стэке расписано более подробно об инъекции и о том что же является ее причиной в случае работы с PDO:
stackoverflow.com/questions/134099/are-pdo-prepared-statements-sufficient-to-prevent-sql-injection
Dmitry Rodionov
19 мая 2015, 14:46
+1
1)Выполнять не в цикле:
$lang_arr = array_unique($lang_arr);
2)не обязательно проверяя «in_array» уникализировать значения
3)нет проверки на язык отсутствующий у домена
например есть набор контекстов:
test1.com_ru
test1.com_en
test1.com_de
test2.com_ru
test2.com_en
если мы запросим для test2.com/de что получится?

P.S. я бы предложил выбрать сначала все контексты с текущим доменом, а потом уже среди них выбрать тот что с языком
Dmitry Rodionov
19 мая 2015, 14:31
0
а можно пример запроса с инъекцией?
Dmitry Rodionov
19 мая 2015, 14:22
2
+2
В итоге для категорий товара я пришел к простому решению, в 2 этапа:
1)сниппет с 1 sql запросом и рекурсивной генерацией меню, для большей быстроты генерации на лету вес можно еще хранить
2)js скрипт который пробегается по дереву и проставляет текущий пункт и родителей

Скорость генерации сократилась с 10s до 1s при первом вызове и потом до 0.05s при кешировании
Dmitry Rodionov
19 мая 2015, 14:10
0
у меня такие настройки были:
&cache=`1`
&cacheTime=`0`
&cache_user=`0`
&cache_key=`left_menu`
Dmitry Rodionov
19 мая 2015, 14:04
0
так не работает, я и пишу что 10-12 секунд когда вызов не кешируем, в итоге после кеширования конечно все норм, но при 10к+ товаров и ежедневном обновлении цен и наличия и возможно картинок с описанием кеш очищается и все по новой

Я написал свой сниппет для генерации меню и теперь меня все устраивает, просто вопрос был именно в том чтобы ускорить pdoMenu, и не писать свои обработчики