These are chat archives for dru-io/Drupal

7th
Mar 2016
Alexandr.Poddubsky
@AlexandrPoddubsky
Mar 07 2016 09:28
всем хаюшки
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:24
ребзя привет! не подскажете, как в собственной теме прописать зависимость так, чтобы она подключалась только в определённыйх случаях? пример: есть dropdown.js/css и надо чтобы оно подключалось только когда оно нужно. шаблоны все свои, и я знаю где оно используется и могу там прописать или как то сослаться на конкретный шаблон(блок). спасибо!
KarmaBot
@KarmaBot
Mar 07 2016 10:24
@aleksanderd, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Alexandr.Poddubsky
@AlexandrPoddubsky
Mar 07 2016 10:25
а что за условия то
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:27
@AlexandrPoddubsky есть использование или нет. У css фреймворка есть куча модулей(типа dropdown.js) и не хотелось бы их все тянуть даже когда они не нужны. Ну например, какой нить там акордион редко используется, и нафик его не надо подключать если он не нужен
меня бы устроило как то в самом шаблоне "сказать" что этому шаблону нужна такая-то либа
Grayw0lf
@Grayw0lf
Mar 07 2016 10:28
@aleksanderd hook_preprocess_hook через drupal_add_js
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:29
а без хуков? :) подозреваю мб в themename.libraries.yml как то можно, но я с ним еще не разобрался
речь идёт о 8й версии
Alexandr.Poddubsky
@AlexandrPoddubsky
Mar 07 2016 10:29
нее. 8 пас
Ivan
@Punk-UnDeaD
Mar 07 2016 10:31
Делаешь несколько библиотек
Аттачишь их к нужному контенту по необходимости
Не забывая зависимости указывать
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:33
@Punk-UnDeaD спс, а можно подробнее. несколько библиотек - это в libraries.yml, верно? а как именно аттачить к контенту не оч. понятно.
KarmaBot
@KarmaBot
Mar 07 2016 10:33
Спасибо (+1) для @Punk-UnDeaD принято! Текущая карма +4.
Grayw0lf
@Grayw0lf
Mar 07 2016 10:33
ну да, в 8ке собираешь в библиотеки и аттачишь
Ivan
@Punk-UnDeaD
Mar 07 2016 10:35

attachement в препроцесе, я с мобилы, не могу код закинуть

Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:36
custom-dropdown:
  css:
    base:
      custom/dropdown.css: {}
  js:
    custom/dropdown.js: {}
это я либу опишу, верно?
Ivan
@Punk-UnDeaD
Mar 07 2016 10:36
А чо оно такое большое?
Да
Ivan
@Chi-teck
Mar 07 2016 10:38
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:39
вот оно!
{{ attach_library('contextual/drupal.contextual-links') }}
<div>Some markup {{ message }}</div>
Ivan
@Punk-UnDeaD
Mar 07 2016 10:39
главное отличие от семерки, нельзя аттачишь ничего, кроме либ
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:39
@Grayw0lf спс. приколько что эта страница у мну уже открыта была, только не дочитал :)
KarmaBot
@KarmaBot
Mar 07 2016 10:39
Спасибо (+1) для @Grayw0lf принято! Текущая карма +12.
Ivan
@Punk-UnDeaD
Mar 07 2016 10:39
Просто js и css не получится
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:40
@Punk-UnDeaD ну так это не проблема имхо, не сложно их в либе описать... за то потом, как я понял, можно будет переопределять саму либу не меняя шаблона или хука
а где еще найти полный список функций шаблонизатора(типа attach_library) ?
Ivan
@Punk-UnDeaD
Mar 07 2016 10:41
Инлайн код нельзя
Можно прямо в коде сервиса
Ну и дока по твигу
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:42
@Punk-UnDeaD не, ну мы говорим: attach_library('contextual/drupal.contextual-links'), а, например, в подтеме можем переопределить саму 'contextual/drupal.contextual-links'
или я чего то не понимаю о чём :)
Ivan
@Punk-UnDeaD
Mar 07 2016 10:44
В теме можно заиэменять, да
Ivan
@Chi-teck
Mar 07 2016 10:45
@aleksanderd
      // This function will receive a renderable array, if an array is detected.
      new \Twig_SimpleFunction('render_var', array($this, 'renderVar')),
      // The url and path function are defined in close parallel to those found
      // in \Symfony\Bridge\Twig\Extension\RoutingExtension
      new \Twig_SimpleFunction('url', array($this, 'getUrl'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
      new \Twig_SimpleFunction('path', array($this, 'getPath'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
      new \Twig_SimpleFunction('link', array($this, 'getLink')),
      new \Twig_SimpleFunction('file_url', function ($uri) {
        return file_url_transform_relative(file_create_url($uri));
      }),
      new \Twig_SimpleFunction('attach_library', [$this, 'attachLibrary']),
      new \Twig_SimpleFunction('active_theme_path', [$this, 'getActiveThemePath']),
      new \Twig_SimpleFunction('active_theme', [$this, 'getActiveTheme']),
      // Translation filters.
      new \Twig_SimpleFilter('t', 't', array('is_safe' => array('html'))),
      new \Twig_SimpleFilter('trans', 't', array('is_safe' => array('html'))),
      // The "raw" filter is not detectable when parsing "trans" tags. To detect
      // which prefix must be used for translation (@, !, %), we must clone the
      // "raw" filter and give it identifiable names. These filters should only
      // be used in "trans" tags.
      // @see TwigNodeTrans::compileString()
      new \Twig_SimpleFilter('placeholder', [$this, 'escapePlaceholder'], array('is_safe' => array('html'), 'needs_environment' => TRUE)),

      // Replace twig's escape filter with our own.
      new \Twig_SimpleFilter('drupal_escape', [$this, 'escapeFilter'], array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),

      // Implements safe joining.
      // @todo Make that the default for |join? Upstream issue:
      //   https://github.com/fabpot/Twig/issues/1420
      new \Twig_SimpleFilter('safe_join', [$this, 'safeJoin'], ['needs_environment' => true, 'is_safe' => ['html']]),

      // Array filters.
      new \Twig_SimpleFilter('without', 'twig_without'),

      // CSS class and ID filters.
      new \Twig_SimpleFilter('clean_class', '\Drupal\Component\Utility\Html::getClass'),
      new \Twig_SimpleFilter('clean_id', '\Drupal\Component\Utility\Html::getId'),
      // This filter will render a renderable array to use the string results.
      new \Twig_SimpleFilter('render', array($this, 'renderVar')),
      new \Twig_SimpleFilter('format_date', array($this->dateFormatter, 'format')),
KarmaBot
@KarmaBot
Mar 07 2016 10:45
@Chi-teck, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:45
эта, а код сервиса - что за сервис? в смысле класс
@Chi-teck спс
KarmaBot
@KarmaBot
Mar 07 2016 10:46
Спасибо (+1) для @Chi-teck принято! Текущая карма +2.
Alexandr.Poddubsky
@AlexandrPoddubsky
Mar 07 2016 10:48
@Punk-UnDeaD да вроде можно аттачить. комментарий вроде видел для #attached
Ivan
@Punk-UnDeaD
Mar 07 2016 10:48
Да, класс, в друпале по сервисам организованно
Ivan
@Chi-teck
Mar 07 2016 10:48
@aleksanderd Есть ещё тег trans для перевода больших кусков текста в шаблонах.
@aleksanderd Это всё что Друпал добавил в Твиг.
Всё остальное смотри в официальной докуметации Твига.
http://twig.sensiolabs.org
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:50
@Chi-teck спс
KarmaBot
@KarmaBot
Mar 07 2016 10:50
Спасибо (+1) для @Chi-teck принято! Текущая карма +3.
Ivan
@Punk-UnDeaD
Mar 07 2016 10:50
Твиг - сервис, при первом обращении к нему он инициализируется с учетом других сервисов
Лоадеры и расширения в частности
Чтоб знать, каким кодом твиг расширен, надо в описание сервисов смотреть
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:54
@Punk-UnDeaD спс
KarmaBot
@KarmaBot
Mar 07 2016 10:54
Спасибо (+1) для @Punk-UnDeaD принято! Текущая карма +5.
Aleksander Dyomin
@aleksanderd
Mar 07 2016 10:56

еще, странная хрень: прописан в зависимостях jquery, вчера всё ок было, сегодня: TypeError: $ is not a function
http://d8test.lo/themes/semantic_ui/js/init.js?v=0.0.1
Line 2

в коде страницы jquery есть. кеши скидывал (drupal cr),

что могет быть?

Ivan
@Chi-teck
Mar 07 2016 10:57
В зависимости чего?
Ivan
@Punk-UnDeaD
Mar 07 2016 10:57
Как именно прописал?
core/jquery
Aleksander Dyomin
@aleksanderd
Mar 07 2016 11:16
сори, отходил. в libraries.yml от своей темы:
  dependencies:
    - core/jquery
при чем, init.js тут же:
global:
  version: 0.0.1

  css:
    base:
      semantic/dist/semantic.css: {}
      semantic/dist/components/dropdown.css: {}
      css/layout.css: {}

  js:
    semantic/dist/semantic.js: {}
    semantic/dist/components/dropdown.js: {}
    js/init.js: {}

  dependencies:
    - core/jquery
Ivan
@Chi-teck
Mar 07 2016 11:18
@aleksanderd покажи init.js
Aleksander Dyomin
@aleksanderd
Mar 07 2016 11:18
и главное, вчера всё работало, и щас jquery есть в странице - в конце страницы и перед init.js
@Chi-teck
$(document).ready(function() {
    $('.ui.dropdown').dropdown({on: 'click'});
});
Zulljin
@animan01
Mar 07 2016 11:18
Всем привет
KarmaBot
@KarmaBot
Mar 07 2016 11:18
@animan01, здравствуй.
Ivan
@Chi-teck
Mar 07 2016 11:19
@aleksanderd попробуй $ заменить на jQuery
Zulljin
@animan01
Mar 07 2016 11:20
Кто-то знает почему возникает предупреждение при использовании драша:
in_array() expects parameter 2 to be array, null given DrupalBoot.php:503
Aleksander Dyomin
@aleksanderd
Mar 07 2016 11:22
@Chi-teck спс, заработало! но блин я хочу $ :)
KarmaBot
@KarmaBot
Mar 07 2016 11:22
Спасибо (+1) для @Chi-teck принято! Текущая карма +4.
Ivan
@Chi-teck
Mar 07 2016 11:22
@aleksanderd замыкание сделай
Aleksander Dyomin
@aleksanderd
Mar 07 2016 11:23
@Chi-teck это да, но хочется понять - почему вчера всё работало, а сегодня - уже нет - только комп вкл-выкл
Ivan
@Chi-teck
Mar 07 2016 11:23
@aleksanderd это и в Drupal 7 не будет работать.
Aleksander Dyomin
@aleksanderd
Mar 07 2016 11:23
так работало же? почему?
не в 7м, а в 8м вчера :)
Ivan
@Chi-teck
Mar 07 2016 11:24
(function($) {
  // Тут можно использовать $
};
})(jQuery);
Aleksander Dyomin
@aleksanderd
Mar 07 2016 11:24
это я в курсе
maria-kvitova
@maria-kvitova
Mar 07 2016 11:24
+behaviors бы в код добавить
Ivan
@Chi-teck
Mar 07 2016 11:25
jQuery разыменовали в Drupal 7 чтобы не было конфликтов с другими библиотеками.
Aleksander Dyomin
@aleksanderd
Mar 07 2016 11:28
@Chi-teck спс, но всё равно странно почему вчера ошибки не было. лана, не критично
KarmaBot
@KarmaBot
Mar 07 2016 11:28
Спасибо (+1) для @Chi-teck принято! Текущая карма +5.
Aleksander Dyomin
@aleksanderd
Mar 07 2016 12:23
еще по 8й версии: можно ли как то внутри конкретного шаблона(блока) узнать в каком регионе рисуемся? или задать отдельный шаблон для блока в зависимости от региона?
Aleksander Dyomin
@aleksanderd
Mar 07 2016 13:00
@maria-kvitova спс, вот бы еще без хуков обойтись :)
KarmaBot
@KarmaBot
Mar 07 2016 13:00
Спасибо (+1) для @maria-kvitova принято! Текущая карма +1.
Alexandr.Poddubsky
@AlexandrPoddubsky
Mar 07 2016 13:02
@maria-kvitova кстати да. вопрос к девушке, а что используете для подписок?
Zulljin
@animan01
Mar 07 2016 18:29
Кто подкажет как в 8 убрать <meta name="Generator" content="Drupal 8 (https://www.drupal.org)" /> ?
Zulljin
@animan01
Mar 07 2016 18:40
This message was deleted
KarmaBot
@KarmaBot
Mar 07 2016 18:40
Спасибо (+1) для @Chi-teck принято! Текущая карма +6.
Zulljin
@animan01
Mar 07 2016 18:40
Хотя нет
мне для 8 нужно
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:42
если не сильно срочно, напомни завтра-наднях: мне тоже надо, но никак руки не дойдут. думаю можно посмотреть что сделано в 7й и сделать то же для 8й
Ivan
@Chi-teck
Mar 07 2016 18:44
@animan01 этот хук скорей всего hook_page_attachments_alter()
Zulljin
@animan01
Mar 07 2016 18:46
@aleksanderd я сейчас буду пробовать, может получится что-нить)
@Chi-teck ок буду пробовать
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:46
отпишись как пойдёт
Zulljin
@animan01
Mar 07 2016 18:49
@aleksanderd ок, но сначало хотя б сделать "hello world" :smile:
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:50
для 8ки модуль можно сгенерить с помощью drupal 8 console - там хэллоуворлд и получится :)
Ivan
@Chi-teck
Mar 07 2016 18:51
А чем этот метатег мешает?
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:51
да хз, а чем он полезен? :)
Zulljin
@animan01
Mar 07 2016 18:52
Не критично, но хочу убрать
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:53
как по мне, так вообще в хтмл-коде должно быть минимум упоминаний про друпал... дурная у него репутация... даже если дыры все закрыты, у меня вот на сервере дофига чудаков тыркает разные друпаловские урлы(на предмет уязвимостей)... хз как в 8м, но хуже не будет, если всякие там кулхуцкеры просто мимо пройдут, не распознав мой сайт как друпаловский...
Ivan
@Chi-teck
Mar 07 2016 18:54
а че дурная то?
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:56
дыр дофига было, при чём одна была - ваще сразу админский доступ с логин формы :)
Sergey Bril
@brilsergei
Mar 07 2016 18:56
чтобы распознать друпаловский сайт, достаточно попробовать зайти на node/add и получить 403 ошибку. для достоверности попробовать еще пару специфичных урлов. так что сокрытие мета спасет только от самых тупых )
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:56
чуть не в два клика...
@brilsergei вот, поэтому кроме всего прочего планирую урлы нахер поменять все, чтобы ничего похожего на /node* и тд не было
но на практике, думаю, большинство идёт в автомате ботами по генератору и каким то стандартным урлам
Alan Bondarchuk
@fortis
Mar 07 2016 18:58
для того и нужны обновления) а прятать только если не обновлять, но сравнительно с другими системами дыр не так уж и много))
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:58
и самое интересное, что там эта уязвимость была описана и её не фиксили более полугода чтоле... до тех пор пока эксплоит не появился и не пошла чехорда. я сильно не в теме, но тогда статейку читал со ссылкой на обсуждение
Alan Bondarchuk
@fortis
Mar 07 2016 18:59
ну у джумлы был факап пару месяцев назад все версии начиная с 1.5 которой уж года три уязвимы
Aleksander Dyomin
@aleksanderd
Mar 07 2016 18:59
ну жумлу я ваще не смотрю :)
Sergey Bril
@brilsergei
Mar 07 2016 19:00
@aleksanderd тогда еще и http хедеры нужно алтерить. друпал там тоже свои заголовки отсылает )
Ivan
@Chi-teck
Mar 07 2016 19:01
да, там день рождение дриса
Aleksander Dyomin
@aleksanderd
Mar 07 2016 19:02
так, я последнее время на yii2, но он для чего то заказного... а надо бы иметь инструмент для быстрого создания сайтов на любую тему, без особых требований к производительности... а тут как раз 8ка - решил заново поглядеть... а то на 7ку как бы уже забил :) 8ка вроде ничего, хоть сущности в ядро нормально впилили и тд...
@brilsergei спс, возьму на заметку
KarmaBot
@KarmaBot
Mar 07 2016 19:02
Спасибо (+1) для @brilsergei принято! Текущая карма +1.
@animan01 ^^^
Alan Bondarchuk
@fortis
Mar 07 2016 19:04
уязвимости которые снифаются решаются обновлениями а уж прятать друпал имхо только если аудитория/конкуренты специфичные или сайт очень кому то нужно сломать)
Aleksander Dyomin
@aleksanderd
Mar 07 2016 19:04
@fortis да так то да :) и вообще хз когда руки до этого дойдут - полно еще не изученного... так что это пока что просто бзик
где то на друпал ру был срач на эту тему
Zulljin
@animan01
Mar 07 2016 19:16
@Chi-teck пасиба)
KarmaBot
@KarmaBot
Mar 07 2016 19:16
Спасибо (+1) для @Chi-teck принято! Текущая карма +7.
Ivan
@Chi-teck
Mar 07 2016 19:19
хм, на друпал.орг нету этого тега
тоже прячутся наверное )
@animan01 Я бы на твоём месте тогда не убирал его совсем, а подкорректировал.
<meta name="generator" content="Bitrix (http://www.1c-bitrix.ru)" />
Zulljin
@animan01
Mar 07 2016 19:22
@Chi-teck тонкий троллинг :smile:
Наверное так и сделаю :smiley:
Zulljin
@animan01
Mar 07 2016 19:49
@Chi-teck странно но генератор остался, кеш чистил
Zulljin
@animan01
Mar 07 2016 20:30
А как в 8 при добавлении ноды термины списком выводить? копаюсь не могу найти
Нашел. Точно в отображении формы находится.