These are chat archives for dru-io/Drupal

6th
Nov 2016
Alan Bondarchuk
@fortis
Nov 06 2016 08:11
Коллеги, поставьте +1 за поддержку docker-compose в PhpStorm =)
https://youtrack.jetbrains.com/oauth?state=%2Fissue%2FIDEA-137765
Airat
@codev0
Nov 06 2016 11:05
привет
подскажите плз,
почему тут ничего не выводит?
http://laravel.io/bin/E3wWx
из за того что я юзаю 3 цикла с одним объектом?
хочу сформировать 2 массива, потом добавить их в форму селектами
Поле формы
$form['calculators'][$calc->id]['city_from'] = array(
            '#type' => 'select',
            '#default_value' => $calc->city_from,
            '#options' => $cities_from_list,
        );
Airat
@codev0
Nov 06 2016 11:15
починил
boolboost
@boolboost
Nov 06 2016 11:16
@codev0 Что за код такой смешной у вас))
return в цикле, вы серьёздно.
Airat
@codev0
Nov 06 2016 11:18
:) учусь только.
не, там не должно быть, там создание формы должно быть
для примера кинул, не подумал
boolboost
@boolboost
Nov 06 2016 11:18
Хватило бы одного цикла в место первых двух
А может и одного во все..
Airat
@codev0
Nov 06 2016 11:19
да, так и сделал.
boolboost
@boolboost
Nov 06 2016 11:20
@codev0 ну норм тогда, через пару месяцев посмотрите свой код)
Airat
@codev0
Nov 06 2016 11:21
:)
настолько плохо? :)
boolboost
@boolboost
Nov 06 2016 11:22
Нет, просто вам ещё рости... Если интузиазм не пройдёт.
Airat
@codev0
Nov 06 2016 11:22
а как сделать поле number?
чет не найду параметра в FORM API
дааа, учить еще дофига
boolboost
@boolboost
Nov 06 2016 11:22
textfield
Или вы хотите input type number
Airat
@codev0
Nov 06 2016 11:23
ага, а чтобы принимало только цифры, чтобы валидацию не писать
boolboost
@boolboost
Nov 06 2016 11:24
Ну плохая идея
Лучше валидацию написать
Airat
@codev0
Nov 06 2016 11:24
@boolboost спасибо.
KarmaBot
@KarmaBot
Nov 06 2016 11:24
Спасибо (+1) для @boolboost принято! Текущая карма +29.
Airat
@codev0
Nov 06 2016 11:25
Еще вопрос:
$form['calculators'][$calc->id]['city_to'] = array(
            '#type' => 'select',
            '#default_value' => $calc->city_to,
            '#options' => function() { // Smth shit with array() }, // так можно делать?
        );
boolboost
@boolboost
Nov 06 2016 11:25
Дело в том что этот элемент по разному выглядит в браузерах
В общем textfield лучше
Хм помоему нельзя)
Он вернёт функцию а ре результат
Airat
@codev0
Nov 06 2016 11:30
ок, чет писал писал, в итоге получил что хотел, сам того не ожидая :)
вопрос выше выходит не актуальный
boolboost
@boolboost
Nov 06 2016 11:31
Пишите код проще
Airat
@codev0
Nov 06 2016 11:31
клевая штука друпал, иногда сам все делает
boolboost
@boolboost
Nov 06 2016 11:31
Чем проще читается тем лучше
Airat
@codev0
Nov 06 2016 11:32
кстаи с этим проблемы, хз как строить архитектуру модуля. фигачу все в один файл.module
Форма добавления значний в калькулятор
https://i.imgur.com/SLfxXyF.png
Форма добавления городов для селекта в форме выше
https://i.imgur.com/5vUefRX.png
пишу в одном файле, уже тяжко читать
еще там всякие хуки темизации
boolboost
@boolboost
Nov 06 2016 11:33
Делити на inc файлы
С формами есть особенности
Airat
@codev0
Nov 06 2016 11:34
ок, а как их инклюдить? чтобы параметры в hook_menu видел их
boolboost
@boolboost
Nov 06 2016 11:34
Его всё равно лучше писать в module илт иклюдить
Airat
@codev0
Nov 06 2016 11:35
страница рендерю так:
function sl_kz_calc_page() {
    $add_form = drupal_get_form('sl_kz_add_calc_form');

    $update_form = drupal_get_form('sl_kz_update_calc_form');

    return render($add_form) . render($update_form);
}
Параметр file
Airat
@codev0
Nov 06 2016 11:37
require_once __DIR__ . ‘/calc.form.inc’; так можно?
boolboost
@boolboost
Nov 06 2016 11:37
Не так не желательно делать
Airat
@codev0
Nov 06 2016 11:37
'file' => 'system.admin.inc’, вот это найс
boolboost
@boolboost
Nov 06 2016 11:37
Лучше всё в хуках писать
Airat
@codev0
Nov 06 2016 11:38
так и сделаю
@boolboost спасибо
KarmaBot
@KarmaBot
Nov 06 2016 11:38
Спасибо (+1) для @boolboost принято! Текущая карма +30.
Airat
@codev0
Nov 06 2016 11:39
'file' => 'system.admin.inc',
'file path' => drupal_get_path('module', 'system'),
тоже круто
Airat
@codev0
Nov 06 2016 12:26
лол, оказалось без этого не работает
'file path' => drupal_get_path('module', 'system'),
boolboost
@boolboost
Nov 06 2016 12:29
Круто не пиши вс5
Подряд
boolboost
@boolboost
Nov 06 2016 17:12
Можно как то drush up выполнить сразу на всех сайтах на своё сервере?
Airat
@codev0
Nov 06 2016 18:57
ansible
еще наверно через bash
boolboost
@boolboost
Nov 06 2016 19:04
Возможно ansible то, что надо, нужно поизучать игрушку.
Про bash само собой, если силами drush не решить. В моём случаи по идеи и с обысным find прокатит.
@codev0 Спасибо.
KarmaBot
@KarmaBot
Nov 06 2016 19:05
Спасибо (+1) для @codev0 принято! Текущая карма +3.
Airat
@codev0
Nov 06 2016 19:06
крутая штука, ребята советовали, говорят правда не оч стабильна.
Но чел который говорил, ею на DO создавал дроплеты, и настраивал
могу спросить, но с drush up думаю должна справиться
еще нодой можно, через gulp.
Типа того https://www.npmjs.com/package/gulp-ssh
boolboost
@boolboost
Nov 06 2016 19:13
Ну да но это ничем не отличается по сути от bash, только писать удобнее.
И мне наверное больше подходит.
Так как nodejs у меня уже есть.
Airat
@codev0
Nov 06 2016 19:26
потом поделить опытом в блоге :)
Airat
@codev0
Nov 06 2016 19:32
как отправить данные запроса в бд из модуля в тему?
я сформировал массив данных, хочу теперь это в JSON получить
function sl_kz_calc_calculator_page()
{
    $cities = array();

    $query = db_select('sl_kz_calc', 'n')->fields('n', array('id', 'city_from', 'city_to', 'pricing', 'days'));
    $results = $query->execute();

    foreach ($results as $result) {
        $cities[$result->id] = array(
            'id' => $result->id,
            'city_from' => $result->city_from,
            'city_to' => $result->city_to,
            'pricing' => $result->pricing,
            'days' => $result->days,
        );
    }

    $cities = json_encode($cities);

    return $cities;
}
KarmaBot
@KarmaBot
Nov 06 2016 19:33
@codev0, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
bumble
@awd-studio
Nov 06 2016 20:35

если не очень правильно - то вместо
return $cities -> print $cities
Наверное будет правильно еще drupal_exit()
ЗЫ - ну и лучше уже drupal_json_encode
вместо json_encode

если очень правильно - то юзать REST

Airat
@codev0
Nov 06 2016 20:58
@awd-studio спасибо.
сделал через json_encode.
KarmaBot
@KarmaBot
Nov 06 2016 20:58
Спасибо (+1) для @awd-studio принято! Текущая карма +99.