Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
andreystrelkov
@andreystrelkov
при условии что тег img у меня разрешён в текстовом формате, изображение рисуется но стиль подчищается в момент сохранения, т.е. открываю редактирование снова а его уже нет один img да src
стоит CKEDITOR (advanced content filter выключен)
по идее это не косяк фильтрации тегов, т.к. они не правят содержимое, лишь вывод фильтруют, тогда ckeditor шалит получается?
boolboost
@boolboost
Хорошо же что вычищается
Я бы паниковал если бы было на оборот
Модули решают подменой src
Правда по названием я их не помню
То есть картинки будут генярятся по шаблонам изображений
По "Стили изображения" ( admin/config/media/image-styles ).
andreystrelkov
@andreystrelkov
ммм понял ваc, секьюрней иметь заготовленный стили изображений с нужными размерами
чем кста опасны style теги в содержимом?
boolboost
@boolboost
Нз
Помоему они просто не красивые
))
И стили должны быть с css
Если это стили
А то потом захочешь у картинок везде размер поменять
И копайся ручками
Или пиши регулярки
Все по разному решают
С размерами картинок
Ну и для типографии это зло
Когда везде разный размер и цвет текста
Но друпал чистит, и хорошо...
Ivan
@Chi-teck

чем кста опасны style теги в содержимом?

Любой пользователь сможет поломать верстку. Например сделать окно на всю страницу через абсолютное позиционирование и вставить туда какой нибудь неприличный текст огромным шрифтом.

boolboost
@boolboost
))
Ну да
Anatoly
@politsin

Коллеги, добрый день.
Вопрос по D8 FAPI + AJAX:
Хочу аякс-сабмит, который бы содержал аякс респонс, меняющий хтмл на странице.

1) На фоме висит 2 аякс колбека при смене полей, которые добавляют в новые поля во врапперы.
Тут вроде всё понятно, сделано так, как в модуле examples, всё отлично работает
2) Хочу на сабмит повесить AJAX.
Делаю это так:

    $form['app-create']['actions']['submit'] = [
      '#type' => 'submit',
      '#attributes' => [ 'class' => ['btn', 'btn-success']],
      '#value' => $this->t('Create New App'),
      '#ajax'   => [
        'callback' => '::AjaxSubmit',
        'effect'   => 'fade',
        'progress' => ['type' => 'throbber', 'message' => NULL,]
      ],
    ];

AJAX-функция выглядит так:

public function AjaxSubmit(array &$form, FormStateInterface $form_state) {
    $response = new AjaxResponse();
    $values = $form_state->getValues(); \\ Про эту строчку у меня вопрос
    dsm($values);
    $otvet = 'Ответ';
    $response->addCommand(new HtmlCommand('#edit-app-create .details-wrapper', $otvet));
    return $response;
}

Беда в том, чо $form_state в этой функции отличается от общего $form_state'a.
Он не содеждит добавленные в форму поля
и он не похватывает значения, переданные во время buildForm (напр $form_state->foo='bar')

Подскажите, что я делаю не так?

KarmaBot
@KarmaBot
Не узнал тебя, @politsin. Богатым будешь :)
Anatoly
@politsin

Блин, даже если забыть о AjaxResponce $form_state разный :(
В первом случае всё норм с "переданные во время buildForm (напр $form_state->foo='bar')"

    $form['app-create']['checkbox'] = [
      '#type' => 'checkbox',
      '#title' => $this->t('Setup Domen'),
      '#ajax'   => [
        'callback' => '::CheckboxCallback',
        'wrapper'  => 'checkbox-wrapper',
        'event'    => 'change',
        'effect'   => 'none',
        'progress' => ['type' => 'throbber', 'message' => NULL,]
      ],
    ];

во втором случае всё плохо с "переданные во время buildForm (напр $form_state->foo='bar')"

    $form['app-create']['actions']['submit'] = [
      '#type' => 'submit',
      '#attributes' => [ 'class' => ['btn', 'btn-success']],
      '#value' => $this->t('Create New App'),
      '#ajax'   => [
        'callback' => '::AjaxSubmit',
        'wrapper'  => 'actions-wrapper',
        'effect'   => 'fade',
        'progress' => ['type' => 'throbber', 'message' => NULL,]
      ],
    ];
KarmaBot
@KarmaBot
@politsin, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Anatoly
@politsin
Оказалось проглема в том, что форму надо ребилдить:
/**
   * Implements a form submit handler.
   */
  public function submitForm(array &$form, FormStateInterface $form_state) {
    $form_state -> setRebuild(true);
  }
Anatoly
@politsin

Продолжаю общаться с собой по D8 FAPI + AJAX
2016-07-29_14-22-43.png
politsin @politsin Мастер костылей!
Alan Bondarchuk
@fortis
@politsin $_post надо через sanitize функции пропускать какой нить чекплейн хотя бы
это пользовательские данные
@politsin и вероятно элементы надо добавлять не в аякс колбеке а в конструкторе формы чекать формстейт и добавлять по условию
форма когда ребилдится вызывает конструктор формы
на это и опирайся добавляй там элементы. а не в момент когда уже сабмит нажали - тут уже обработка сабмита только)
Anatoly
@politsin
@fortis спасибо!
KarmaBot
@KarmaBot
Спасибо (+1) для @fortis принято! Текущая карма +31.
Anatoly
@politsin
Элементы добавлял как в форм-экзампле.
Нигде не мог найти как подругому их добавить, везде в качестве примера такой код: делаем враппер, потом в колбеке возвращаем кусок формы.
Alan Bondarchuk
@fortis
ага именно потому что новый элемент уже создан к этому моменту)
при ребилде
alexd73
@alexd73
Привет! Подскажите, если указываешь зависимости для модуля, надо проверять на наличие модуля перед вызовом функции из него?
KarmaBot
@KarmaBot
Не узнал тебя, @alexd73. Богатым будешь :)
alexd73
@alexd73
т.е. в info dependencies указаны, то можно смело использовать эти модули?
Alexander Dubovskoy
@adubovskoy
чтоб подстраховаться, лучше через function_exists .
в .info оно то хорошо, но проверяет только в момент включения модуля. т.е. если потом чьи-то кривые руки его удалили, то повалится.
alexd73
@alexd73
@adubovskoy так и сделал. Спасибо!