• Как передать ID поста при Ajax отправке?

    @kucheriavij
    axblue: контроллер получает ровно то, что в него передают. Если вы не передаете ему id, откуда он его возьмет? Самый простой способ это запихать id в какой-нибудь data атрибут, и в js его оттуда брать, потом тем же самым js, как написали выше, передать в контроллер, ну а дальше уже как обычно
  • Почему yiisoft\yii2-sphinx начал странно строить запросы?

    @kucheriavij Автор вопроса
    Пума Тайланд: уже разобрался) все ищет, теперь устраняю другие ошибки
  • Почему yiisoft\yii2-sphinx начал странно строить запросы?

    @kucheriavij Автор вопроса
    Пума Тайланд: qury log пустой, git не было отродясь (не спрашивайте почему), кроме меня на проекте больше никто не лазил. Сейчас проблема другая, решил забить на расширение от yii, и подключить родной sphinxapi, но в результате он ничего не находит
  • Почему yiisoft\yii2-sphinx начал странно строить запросы?

    @kucheriavij Автор вопроса
    так в том-то и дело что ничего не менялось, и в логи не пишет ничего, кроме того что произошла индексация
  • Почему sphinx не ищет если для одного слова или фразы используется несколько слоформ?

    @kucheriavij Автор вопроса
    query log:
    [Mon Sep 5 15:39:29.603 2016] 0.000 sec 0.000 sec [ext2/0/ext 3 (0,20)] [siteSearch] ("немецкая")
    [Mon Sep 5 15:39:47.115 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("Кальян-бар")
    [Mon Sep 5 15:40:02.897 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("выпечка")
    [Mon Sep 5 15:40:08.964 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("выпечка")
    [Mon Sep 5 15:40:16.010 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("выпечка")
    [Mon Sep 5 15:40:16.701 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("выпечка")
    [Mon Sep 5 15:40:22.981 2016] 0.000 sec 0.000 sec [ext2/0/ext 1039 (0,20)] [siteSearch]
    [Mon Sep 5 15:42:47.138 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("итальяшка")
    [Mon Sep 5 15:43:11.545 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("итальяшка")
    [Mon Sep 5 15:58:16.153 2016] 0.000 sec 0.000 sec [ext2/0/ext 1039 (0,20)] [siteSearch]
    [Mon Sep 5 15:59:06.770 2016] 0.000 sec 0.000 sec [ext2/0/ext 1039 (0,20)] [siteSearch]
    [Mon Sep 5 15:59:36.849 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("Папуас")
    [Mon Sep 5 15:59:58.788 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("Медовица")
    [Mon Sep 5 16:00:37.184 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("россиянка")
    [Mon Sep 5 16:01:36.573 2016] 0.000 sec 0.000 sec [ext2/0/ext 6 (0,20)] [siteSearch] ("Краснодарский" | "парень")
    [Tue Sep 6 09:16:55.671 2016] 0.000 sec 0.000 sec [ext2/0/ext 1039 (0,20)] [siteSearch]
    [Tue Sep 6 09:16:56.905 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("Пекарня")
    [Tue Sep 6 12:24:04.256 2016] 0.000 sec 0.000 sec [ext2/0/ext 2 (0,20)] [siteSearch] ("Император")
    [Tue Sep 6 12:48:43.774 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("PEGAS")
    [Tue Sep 6 12:50:30.587 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("Pegas")
    [Tue Sep 6 12:58:43.128 2016] 0.000 sec 0.000 sec [ext2/0/ext 1039 (0,20)] [siteSearch]
    [Tue Sep 6 12:58:44.894 2016] 0.000 sec 0.000 sec [ext2/0/ext 1039 (0,20)] [siteSearch]
    [Tue Sep 6 13:00:24.171 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("ноч")
    [Tue Sep 6 13:00:38.218 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("блэш")
    [Tue Sep 6 13:01:45.914 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("блуш")
    [Tue Sep 6 13:02:12.721 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("блуш")
    [Tue Sep 6 13:02:23.047 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("блэш")
    [Tue Sep 6 13:02:48.269 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("ноч")
    [Tue Sep 6 13:04:25.643 2016] 0.000 sec 0.000 sec [ext2/0/ext 1 (0,20)] [siteSearch] ("ноч")
    [Tue Sep 6 13:04:37.380 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("блэш")
    [Tue Sep 6 13:06:47.325 2016] 0.000 sec 0.000 sec [ext2/0/ext 0 (0,20)] [siteSearch] ("блуш")
    [Tue Sep 6 13:07:03.117 2016] 0.000 sec 0.000 sec [ext2/0/ext 1039 (0,20)] [siteSearch]

    Изначально в словаре было наоборот, результат был точно таким же
  • Почему sphinx не ищет если для одного слова или фразы используется несколько слоформ?

    @kucheriavij Автор вопроса
    пример словаря:
    ноч > 1002 НОЧЬ
    блэш > BLUSH
    блаш > BLUSH
    блуш > BLUSH

    конфиг сфинкса:
    source gg : site1
    {
    sql_query = SELECT \
    `id`, `title`, `name`, `address`, `phone`,\
    `schedule`, `search_main_slogan`, `search_main_text`,\
    `search_banquet_slogan`, `search_banquet_text`, `search_business_slogan`,\
    `search_business_text`, `schedule`, `sites`\
    FROM gg__restaurants
    sql_attr_uint = id
    sql_field_string = title
    sql_field_string = name
    sql_field_string = address
    sql_field_string = phone
    sql_attr_json = schedule
    sql_field_string = search_main_slogan
    sql_field_string = search_main_text
    sql_field_string = search_banquet_slogan
    sql_field_string = search_banquet_text
    sql_field_string = search_business_slogan
    sql_field_string = search_business_text

    sql_attr_multi = uint kitchens from query; SELECT `rest_id`, `kitchen_id` FROM gg__restaurants_kitchens
    sql_attr_multi = uint averages from query; SELECT `rest_id`, `avg_id` FROM gg__restaurants_average
    sql_attr_multi = uint badges from query; SELECT `rest_id`, `badge_id` FROM gg__restaurants_badges
    sql_attr_multi = uint types from query; SELECT `rest_id`, `type_id` FROM gg__restaurants_types
    }

    index siteSearch
    {
    source = gg
    path = /var/www/verygood/data/www/gurman-gid.very-good.ru/sphinx/data/siteSearch
    docinfo = extern
    morphology = stem_ru, stem_en, soundex, metaphone
    charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42C->U+430..U+44C, U+42E..U+42F->U+44E..U+44F, U+430..U+44C, U+44E..U+44F, U+0401->U+0435, U+0451->U+0435, U+042D->U+0435, U+044D->U+0435
    min_prefix_len = 3
    min_infix_len = 0
    min_stemming_len = 3
    min_word_len = 3
    phrase_boundary = :, - , . , $
    phrase_boundary_step = 100
    html_strip = 1
    expand_keywords = 1
    index_exact_words = 1
    dict = keywords
    wordforms = /var/www/verygood/data/www/gurman-gid.very-good.ru/sphinx/wordforms.txt
    }

    indexer
    {
    mem_limit = 128M
    }

    searchd
    {
    listen = 127.0.0.1:9318:mysql41
    log = /var/www/verygood/data/www/gurman-gid.very-good.ru/sphinx/log/site1_searchd.log
    query_log = /var/www/verygood/data/www/gurman-gid.very-good.ru/sphinx/log/site1_query.log
    read_timeout = 5
    client_timeout = 300
    max_children = 30
    persistent_connections_limit = 30
    pid_file = /var/www/verygood/data/www/gurman-gid.very-good.ru/sphinx/sphinx_bardata.pid
    seamless_rotate = 1
    preopen_indexes = 1
    unlink_old = 1
    mva_updates_pool = 1M
    max_packet_size = 8M
    max_filters = 256
    max_filter_values = 4096
    max_batch_queries = 32
    workers = threads
    binlog_path = # disable logging
    }

    Если я ищу "ноч" то все прекрасно находит, если же "блэш", "блаш", "блуш" то ничего не находит, как только я оставляю только одну словоформу, все начинает искать нормально
  • Yii2 Есть ли готовое расширение, которое бы позволяло загружаемые файлы (фото) раскладывать в иерархическую папку?

    @kucheriavij
    bizzonaru: модель изображения. Вообще этот весь код находится именно в этой модели. Там целый модуль. Могу скинуть, если скажете куда, просто не я его делал, я только дописывал его
  • Yii2 Есть ли готовое расширение, которое бы позволяло загружаемые файлы (фото) раскладывать в иерархическую папку?

    @kucheriavij
    bizzonaru: если обратиться так $img->getUrl(['300x300', 'method' => 'thumbnail']); , то создаст папку с указанным размером, кропнет картинку, и положет ее туда.
    сам getUrl:
    public function getUrl($options = null)
    {
    if ($options === null)
    return $this->url;

    if (is_array($options)) {
    $size = $options[0];
    $options = array_slice($options, 1);
    } else {
    $size = $options;
    $options = ['method' => 'crop'];
    }

    $webroot = Yii::getAlias('@webroot');
    $source = dirname($this->url);
    $basename = basename($this->url);

    $url = $source . '/' . $size . '/' . $basename;

    if (!is_file($webroot . $url) && is_file($webroot . $this->url)) {
    $imagine = new Imagine();
    $handle = $imagine->open($webroot . $this->url);

    FileHelper::createDirectory(dirname($webroot . $url), 0777);

    if (!isset($options['width'], $options['height'])) {
    if (preg_match('!(\d+)x(\d+)!', $size)) {
    list($width, $height) = explode('x', $size);
    $options['width'] = intval($width);
    $options['height'] = intval($height);
    } else {
    throw new InvalidParamException('Object configuration must be an array containing a "width" and "height" elements.');
    }
    }

    $method = ArrayHelper::remove($options, 'method', 'crop');
    $watermark = ArrayHelper::remove($options, 'wm', null);

    $handle = $this->$method($handle, $options);

    if (isset($watermark)) {
    $handle_wm = $imagine->open($webroot . $watermark[0]);

    if (!isset($watermark['x'], $watermark['x'])) {
    throw new InvalidParamException('Watermark must be an array of elements x and y.');
    }

    $handle = $handle->paste($handle_wm, new Point($watermark['x'], $watermark['x']));
    }

    if ($this->mime === 'image/png') {
    $handle->save($webroot . $url);
    } else {
    $handle->save($webroot . $url, ['jpeg_quality' => 80]);
    }
    chmod($webroot . $url, 0666);
    }
    return $url;
    }
  • Yii2 Yandex Google Map, как реализовать и хранить в базе?

    @kucheriavij
    Антон Натаров: ну это у меня виджет сделан. Попробуйте тоже виджетом и сделать. Суть в том что он у меня заносит в value скрытого инпута координаты метки, центр карты и тип карты. А потом данные из этого инпута в json пишутся в базу
  • Как наилучшим образом интегрировать laravel с битрикс?

    @kucheriavij
    Андрей Корнев: ну для интеграции достаточно один раз разобраться с commerceMl и написать расширение для фреймворка, тоже самое и с другими модулями, а дальше их уже портировать из проекта в проект. Ну иопять же, если заказчик платит, а если еще и хорошо платит, то вполне себе можно и заморочиться с написанием нормального продукта. Как по мне, так к битриксу стоит в таком случае прибегать если этого требует заказчик, в остальных случаях думаю игра не стоит свеч
  • Как наилучшим образом интегрировать laravel с битрикс?

    @kucheriavij
    Андрей Корнев: как по мне, так бизнез слишком раздутый. Там очень много вещей которые, я сомневаюсь что подавляющее большинство будет использовать. Да и опять же, коробочная реализация, например того же sale order ajax оставляет желать лучшего, чаще всего приходится стирать все, и писать заново, а это тоже самое время, а с учетом того что это битрикс проще было бы на фреймворке это реализовать. Дело конечно вкуса, но лично я пока не начал с фреймворками тоже думал что битрикс не так уж и плох, сейчас меня туда можно загнать только если руководство этого захочет. Единственное где я бы использовал битрикс, так это клепать визитки, уж лучше его взять чем вордпрес/джумлу, так как в этом случае это действительно очень быстро)
  • Как наилучшим образом интегрировать laravel с битрикс?

    @kucheriavij
    пробовал twig на битриксе, жутко не удобно, приходится чуть ли не на каждую запятую формировать result_modifier. Использовать D7 тоже сложновато, так как документации по нему нет, да и в исходниках одна боль, коллега один компонент на D7 реализовал, и сказал что больше этой ерундой не собирается заниматься. Так что приходится терпеть всю эту боль от битрикса. Сам ушел от него к фреймворкам, и возвращаться даже не собираюсь
  • Как удалять раздел с подразделами в Baum?

    @kucheriavij Автор вопроса
    Станислав Почепко: получилось удалить как в доке сказано. Не знаю почему первый раз не получилось. Но все равно спасибо)
  • Как удалять раздел с подразделами в Baum?

    @kucheriavij Автор вопроса
    Станислав Почепко: я так и удаляю, и в том то и дело что он удаляет только один раздел, а потомков оставляет. Ну по крайней мере они в базе присутствуют. Попробую через события сделать
  • Как удалять раздел с подразделами в Baum?

    @kucheriavij Автор вопроса
    Станислав Почепко: сам пакет https://github.com/etrepat/baum . Создавать, редактировать я заставил, удаление по одному тоже сделал. А вот удалить раздел со всеми потомками не могу. Теорию понимаю, а вот на деле не получается сделать
  • Midnight Commander в Linux, поменять оформление?

    @kucheriavij
    у меня чаще наоборот, по дефолту ставится UTF-8, и приходится на 1251 менять
  • Как вы считаете - переезд дата центра в рабочий день - это нормально?

    @kucheriavij
    hubramubr: я не сказал что не смог воспользоваться этим сервером. Я в итоге на него разместил на него то что мне необходимо, в очень урезаном виде. Я забыл еще упомянуть что они и этот сервер в итоге отключили, и еще уложили железо одного из серверов. Так что хорошего я ничего сказать не могу про этих ребят, а до этого сервер одного из проектов стабильно раз в сутки в одно и тоже время падал, оказал сосед нагружал ноду, это они выясняли 3 дня
  • Как вы считаете - переезд дата центра в рабочий день - это нормально?

    @kucheriavij
    hubramubr: мы воспользовались этим предложением. На деле оказалось что нам дали рут доступ со словами делайте, причем то что они выдали тупо не хватало даже под один из наших проектов
  • Как организовать работу удаленных программистов?

    @kucheriavij
    gadfi: тут палка с двумя концами. Если человек выполнил поставленную задачу раньше срока, то что ему мешает дальше выполнять следующую задачу, а не пинать баклуши? Но и давить тоже не следует, сам терпеть не могу когда каждые 5 минут подходят и спрашивают "ну что? когда готово будет?"