Константин Ильин

Константин Ильин

С нами с 10 февраля 2014; Место в рейтинге пользователей: #127
18 января 2018, 16:38
0
Ага) просто привык, однажды я так пытался сделать, но в феноме это не работало или такое не поддерживал точно не помню

~=
18 января 2018, 10:15
0
Один вопрос только остался
Как сделать так чтобы output не писал в журнал ошибок
$modx->event->output('')
18 января 2018, 09:40
0
Василий, подскажи где этот глюченный лексикон найти?

joxi.ru/zANpLRJsBkQ6Gm

'brЭто поле не должно быть пустым'

Разобрался, что из-за плагина и в контроллере
// Check vk
$vk = trim($_POST['vk']);
if (!empty($vk)) {
    if (!preg_match('/https?:\/\/(www\.)?vk\.com\/([^\/].+)/', $vk)) {
        $modx->error->addField('vk', 'Неверная ссылка на ВКонтакте.');
        $modx->event->output('Неверная ссылка на ВКонтакте.');
    } 
}else{
    $modx->error->addField('vk', 'Это поле не должно быть пустым.');
    $modx->event->output('Вы не указали ссылку на ВКонтакте!');
}
за счет addField добавляется br

пофиксить это можно:

protected function _formatProcessorErrors(modProcessorResponse $response, $glue = 'br')
{
****
}
//заменив $glue = '< br >' - без пробелов

protected function _formatProcessorErrors(modProcessorResponse $response, $glue = '< br >')
{
****
}
05 января 2018, 19:46
0
trade-leader.com (11 языков)
У тебя там на поддоменах, а глюк когда по папке раскиданы версии 'http://but1head.ru/en/'

Так тоже выводит дефолтный site_url

У тебя подмена плейслохолдера только происходит
$modx->setPlaceholders(array(
                'cultureKey' => $cultureKey,
                'site_url' => $_SERVER['REQUEST_SCHEME'] . '://' . $language->http_host,
            ), '+');
т.е.
//Нерабочие варианты
{$_modx->config['site_url']}
{'site_url' | option}
{'site_url' | placeholder}

//Рабочие
{'+site_url' | placeholder}
 [[!++site_url]]

Все таки я склоняюсь, что pdoPage не дружит с base, но на это наверно только Василий может ответить)
05 января 2018, 17:46
0
Никита подскажи пожалуйста, а у тебя нормально ставит ссылки в page.nav с site_url например
http://localizator.but1head.ru/en/
и выводит ли через феном site_url

Не работает
{$_modx->config['site_url']}
Через феном не выводит нужный site_url, а просто дефолт

у меня подмена site_url для феном такая, но вот беда пагинацией
case 'OnHandleRequest':
        if($modx->context->key == 'mgr') return;
        $language = 'en';
        $modx->config['site_url'] =  $_SERVER['REQUEST_SCHEME'] . '://' .$_SERVER['HTTP_HOST'] .'/'. $language.'/';
    break;
Пагинация выдает такие ссылки
site.ru/en/en/cat.html?page=2

Или это глюк pdoPage, а точнее глюк формирования page.nav?
Остальные сниппеты нормально работают, в том числе uri в самом pdoPage, т.к. обертка pdoResource
15 декабря 2017, 17:30
0
Василий, подскажи пожалуйста, почему не работает prepareSnippet у pdoField?

Код проверочного сниппета
$modx->log(1,print_r($row,true));
или там не $row?
09 декабря 2017, 16:35
0
Спасибо за совет
Ставил тот модуль, может не так настраивал, он все равно ругался на свои же изображения. Ставил на апач конечно.
А так конечно не стоит нагружать сервак, сжать один раз изображения и забыть. Интересно есть ли возможность этим модулем сжимать изображения так сказать в «ручную»? т.е. использовать его API
09 декабря 2017, 16:06
0
Правильно я понимаю Вас Алексей, что возможно настроить vds или просто сервак так, чтобы при сжатии все было ок? если да, то поделитесь пожалуйста инструкшоном) ато этот маразматический pagespeed достал
09 декабря 2017, 15:57
0
Все таки панда, к большому сожалению сжимает сильнее

Одно и тоже изображение:
Панда = 709.7 KB
optipic.io = 2,86 МБ
09 декабря 2017, 15:06
0
будет отлично Илья! начну сам читать) ато прям не терпится)
09 декабря 2017, 13:46
0
Перепробовал разные плагины для галп — все равно ругается пейджспид. Честно говоря он всех уже достал. Советует плагины для галпа которые нихера в итоге не сжимают как ему надо.

TinyPNG изображения от него воспринимает более менее, не 100% но подавляющее большинство.

Хочется уже увидеть компонент.

оффтоп: Есть ли у кого нибудь код и нормальный рабочий вариант связки плагинов для gulp?
30 ноября 2017, 10:47
0
Не знаю как на модхосте, но при такой структуре
- site.ru
- - public_html
- - - _build
- - - core
После rename_it.php, он переименовывает папку public_html(родительскую папку) в название компонента например modExtra, проверьте и верните в исходное состояние.

после чего site.ru/_build/*.php должны быть доступны
30 ноября 2017, 09:09
0
Люди добрые подскажите как надо программировать :))
1 и 2-ой пункт, сделал так же как описал выше.
28 ноября 2017, 19:04
0
Понял, Спасибо Василий
28 ноября 2017, 19:01
0
перепутал
В ajaxForm все проще конечно было со 3 и 4 пунктом :)
28 ноября 2017, 18:50
0
Доброго времени суток!
Подскажите пожалуйста пару моментов как правильней делать и где копать

1. Создал контроллер auth2.class.php, поправил formRegister, проверял некоторые поля из формы, например проверку ссылки Вк:
// Check vk
$vk = trim(@$data['vk']);
if (!empty($vk)) {
    if (!preg_match('/https?:\/\/(www\.)?vk\.com\/([^\/].+)/', $vk)) {
        return $this->error($this->modx->lexicon('Неверная ссылка на ВКонтакте'));
    } 
}else{
    return $this->error('Вы не указали ссылку на ВКонтакте!');
}
После передаю в функцию $this->_createUser(), в ней доже передаю в массив

Правильно ли так проверять поля из формы?

2. Нужно же удалять старый контроллер контроллер auth.class.php?
т.к. я в инспекторе кода поменяю с auth2/formRegister на auth/formRegister и спокойно зарегистрируюсь с помощью email, без обязательных полей

3. Есть ли js колбеки, например мне после того как регистрация прошла и jGlow высвечивает сообщение о том что мне выслана ссылка, мне нужно закрывать модальное окно регистрации и открывать другое окно более информативное чем jGlow.
Или придется копировать /assets/components/office/js/auth/default.js и переписывать?

4. Так же еще небольшой вопрос, при отправке не присваивается класс error для input если они не прошли проверку, как бы хочется выделять красным input. Тут я полагаю переписывать надо auth2.class.php и default.js.
В auth2.class.php для функции error дополнительно передавать массив и название поля с ошибкой
$this->error('Ошибка поля VK', array('err' => 'vk'));
После отлавливать в js и присваивать класс

В ajaxForm все проще конечно было со 2 и 3 пунктом :)
28 ноября 2017, 15:37
0
У вас тоже есть такой глюк, когда нажимаешь «Перезагрузить права доступа» — ничего не происходит?

Консоль ошибок не пишет, журнал ошибок тоже пуст

Чего то 2.6.0 пока совсем не радует, обновился только на одном сайте
26 ноября 2017, 09:52
1
+1
Михаил, спасибо за такие статьи!!!
Тоже всегда интересовала серверная часть (пора бы уже почитать книжки), как именно там все закручено. Само «программирование на модх» более мение понятно, работаешь с объектами, расширяешь модели, классы, компоненты в конце концов, но вот интересные аспекты:
— штрихкодирование(если есть конечно)
— ПО которое формирует заказ и как оно все отправляется в модх
— что синхронизируется с главным сервером, цены и заказы?
— интересно как сторонние аппараты связны с локальными серверами и как они работают

Получается Ваш продукт с лихвой заменил этот адский-монополистский продукт — 1С, причем с индивидуальной настройкой, без лишних функций! и самое главное — большой скоростью!
Например, я однажды приходил покупать видеокарту для компьютера, стою на кассе, кассир говорит «Подождите пожалуйста», я глянул в его монитор и увидел как там долго долго грузилась 1С… минуты через 3-4 только начал оформлять заказ.

Не так давно приходилось сталкиваться с 1С, я ругался матом… это какое-то извращение. Я посоветовал им, что под их задачи проще было написать веб интерфейс и все индивидуально заточено. И на вашем примере АСУ, я в конце концов убедился, что спокойно можно заменить 1С, да и еще с десятками плюсов.
09 ноября 2017, 19:41
+3
Да, тоже вспомнил наставление: Если не работает у тебя пробуй на модхосте
Минут 10 назад тоже воспроизвел, все ок. Начал у себя лазать, а потом оказалось, что таблицу сортирует JS.
Теперь стыдно.
09 ноября 2017, 19:15
0
Тоже так подумал потом и написал:)