alexboy: Комментарии

Главные вкладки

17 сентября 2016 в 21:18

А разве после регистрации в базе не обновляются таблицы с кешем? Может я конечно что-то не то делаю, но чтобы я не выводил в шаблоне твига у меня абсолютно все кешируется, даже $user. Но вот что я случайно заметил. У меня был план запихнуть значение в блок вьюхи и отключить в ней кеш. Но и он рассыпался, потому что, если вывести в твиге вьюху с настройками без кеширования (абсолютно неважно какую, главное чтобы в ней был отключен кеш):
$variables['test'] = views_embed_view('test', 'block-1');

17 сентября 2016 в 18:29

<a href="mailto:sas@drupal.org">sas@drupal.org</a> wrote:

Можно посмотреть как организована работа с $user = она же не кешируется Smile


вывел в твиге время последнего доступа {{user.access.value}}, значение замерло и изменилось только после очистки кеша

14 сентября 2016 в 19:04

<a href="mailto:sas@drupal.org">sas@drupal.org</a> wrote:

Использейте $_SESSION


Можете привести пример как правильно его использовать?
Я сохраняю значение так $_SESSION['status'] = $status; А как его потом передать в twig? Оно всё равно не обновляется в кешируемой странице. В общем я полдня просидел и у меня ничего не получилось.

20 августа 2016 в 7:17

Создаю мультисайтинг модулями из коробки - Content Translation и Views. Куда ещё проще? Или можно как-то ещё реализовать мультисайтинг? Может есть более простые аналоги вьюса?

Попробую объяснить ещё раз. У меня два сайта: английский и русский. На русском создаю ноду. Её перевожу с помощью модуля Content Translation и всё работает.

19 августа 2016 в 21:56

Переводить поля и термины словарей нужно не в самом вьюсе, а с помощью модуля Configuration Translation
. Устанавливаете модуль, заходите в конфикурацию - перевод конфигурации и там переводите то что нужно. Ну а вьюс уже подхватит эти переводы.

19 августа 2016 в 21:46

Нет. У меня два сайта и два языка английский и русский. Всё создано. А вьюс я создаю только на английском сайте и мне его не нужно переводить на русский. Мне просто нужно вывести комментарии именно через вьюс, а он упорно подставляет русский титл. Он берёт русский титл из ноды созданной на первом русском сайте. И к этой ноде создан перевод, где титл переведён на английский. Когда комментарии вывожу не через вьюс (отключаю его), то титл показывается верно - на английском. Т.е. мультисайтинг без вьюса работает отлично, а вот с вьюсом титл всегда на русском...

19 августа 2016 в 21:16

Да я нажимал на эту вкладку и там уже используется English (original). Т.е. вьюху я создаю на английском сайте и когда я нажимаю на Добавить перевод, то меня просто перекидывает на эту же вьюху. Т.е. переводить больше нечего. В базе для этой ноды прописываются два титла: на русском и на английском (см. скриншот), но вьюс упорно берёт русский титл, не смотря на то что я выбрал английский язык.

25 мая 2016 в 12:02

Проблема была в том, что я не понял, что для того чтобы модуль сработал нужно заходить по конкретному адресу.
В данном случае для генерации материала нужно перейти по адресу http://site.ru/creator/node
Vaplas, спасибо за помощь!

23 мая 2016 в 11:41

Всё равно не получается! То вообще ничего не создаётся, то выходит ошибка:
RuntimeException: Failed to start the session because headers have already been sent by "T:\openserver\domains\drupal8.ru\sites\drupal8.ru\modules\node_auto\node_auto.module" at line 2. in Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (line 140 of vendor\symfony\http-foundation\Session\Storage\NativeSessionStorage.php).
Модуль в итоге получился такой: node_auto

22 мая 2016 в 23:44
1

C темизацией модуля brick разобрался.
Для темизации отдельного набора кирпича (brick bundle), например с машинным именем columns нужно переименовать файл eck-entity.html.twig в папке \modules\eck\templates в файл eck-entity--brick--columns.html.twig и скопировать в папку со своей темой.
Например, для темизации дополнительного поля field_image в наборе кирпичей columns нужно создать файл field--brick--field_image--columns.html.twig.

24 марта 2016 в 15:10

dgastudio wrote:

резюме, 8ка говно, 7ка рулит


Скопировал код в функцию темы function theme_preprocess_node(&$variables) и работает как надо. Не думаю что сама восьмёрка виновата, скорее всего чего-то не хватает в моём коде. В модуле он работать не хочет...

23 марта 2016 в 22:50

dgastudio wrote:


Я как раз писал модуль, опираясь на эту статью. И как результат выходит ошибка. Через kint(Node::load($nid)); сравнивал обе ноды (добавленную вручную и созданную программно): там всё идентично.

12 марта 2016 в 14:49
1

vaplas wrote:

Все посмотрел? CKedtior - это отдельный мир, прикрутка его плагинов к друпалу гуглится. Накрайняк, хотя бы виджет, где за даются два изображения, из которых он сам формирует нужный html.

5 марта 2016 в 15:10
1

Чтобы уменьшались изображения, нужно пропатчить модуль /core/modules/editor
Патч взял отсюда: патч
Патчил этим способом: способ
Уже пропатченный модуль: Editor

А вот как сделать, чтобы эти уменьшенные изображения увеличивались по клику, пока не разобрался.

14 февраля 2016 в 11:31

Что касается хука, то я попробовал сам написать его по аналогии для семёрки, вот что получилось:

<?php

14 февраля 2016 в 11:18

Забыл сразу написать, что эта ошибка связана с очисткой кеша, т.е. она появляется только после очистки кеша. Сейчас установил на локалке с нуля drupal 8.0.3, создал две вьюхи и всё было сначала хорошо.

views1

Только стоило очистить кеш и сайт упал:

img

11 февраля 2016 в 18:57

Возникла потребность сделать разную сортировку для каждого типа комментариев. Чтобы модуль сработал только например, для комментариев форума "comment_forum" добавил такое условие:

$node = \Drupal::routeMatch()->getParameter('node');
if ($node->comment_forum[0]) {код сортировки}

Вроде работает, но может есть более правильный способ как это сделать?

10 февраля 2016 в 19:50

vaplas wrote:

Поэтому, либо реально подставлять значение программно (только посмотри, как правильно делать, а то что такое "default.png", у меня в каждой папке такой есть, какой ему брать?)