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

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

25 августа 2019 в 9:15

При генерации алиасов необходимо транслитилировать кириллические текст в латиницу.
city/Уфа -> city/ufa

Для друпал-семерки нужен был специальный модуль, для drupal 8 данный функционал в ядре:
https://drupal.ru/node/132683

К сожалению, файл скрина с настройками (по указанной выше ссылке) отсутствует, но наверное будет не слишком сложно самому найти данную опцию (включения транслитерации алиасов) в настройках генерации алиасов модуля pathauto.

23 августа 2019 в 12:38
1

Добавляете словарь таксономии Города(если не добавлен)

"технический" урл термина таксономии: taxonomy/term/<идентификатор термина>
Но все урлы в друпал могут иметь алиасы и даже несколько.
Значит, надо добавить для городов алиасы.

23 августа 2019 в 6:09

"Закрыть сайт для всех кроме"

Это поможет только закрыть сайт снаружи, а если бэкдор уже внутри, то нужы еще 2 пункта:
4.Закрыть доступ к сети изнутри.Чтобы зловред не мог слать запросы наружу.
5.Закрыть доступ браузера в интернеты, т.к. для обмена информацией с удаленным сервером может использоваться даже не "аякс" а банальные запросы файлов картинок-css с определенными наименованиями.
На хабре как-то рассписывали технологию кейлогера на css, ничего сложного но прикольно-)

23 августа 2019 в 6:03

Грубо говоря, вся "инфа" ходит через сетевую карту сервера, т.е. единый шлюз-ворота.
Есть специальные программки, которые стоят на этих воротах и прослушивают входящий-исходящий трафик.
И позволяют его фильтровать-анализировать.
Для неподготовленного человека это достаточно сложная задача.
Можно конечно и самому "подготовиться" если интересно и есть много свободного времени, инфы по данному вопросу в интернетах море, но проще найти "подготовленного" специалиста.

22 августа 2019 в 22:08
1

Если на сайте бэкдоры, и необходимо их гарантировано изолировать, то только закрывать сайту доступ наружу файерволом, оставив щёлку для SSH-туннеля и ходить на сайт по нему.
Шаред-хостинг на это не пойдет, скорее всего.

Вариант попроще, развернуть сайт на компе без подключения к интернету.
Вариант дешевле, развернуть его на VirtualBox (линукс с иксами, например Ubuntu Desktop), без подключения к сети хост-машины.

21 августа 2019 в 7:31
1

Если Вы про видео-инструкцию, то чего-то там наворочено всего подряд(pyton, gulp и т.п.), наверное чтобы былО или автор использует какие-то дополнительные инструменты для работы.

Грубо говоря, что composer что drush - это php-скрипты.

т.е. чтобы их запустить нужен php для консоли (php-cli, обычно устанавливается вместе с php)

Для этого достаточно просто выполнить команду:
путь-к-php/php.exe путь-к-composer/composer.phar
или
путь-к-php/php.exe путь-к-drush/drush.php

18 августа 2019 в 21:05

Это надо еще роутер покупать..-)
А мне родственники натащили целую стопку рабочих смартофонов с раздолбанными экранами.(тыжпрограммист, тебе надо-)
Руки дойдут, попробую сделать "карманный" вэб-сервер для работы в т.ч. в "походных условиях"+ вайфай роутер с "мобильным" интернетом.

18 августа 2019 в 12:47

кстати, если на компе имеется SSD-диск и "общую папку" организовать на нем, то это должно компенсировать "просадки" производительности файловой системы.

А вообще, что OpenServer что VirtualBox - позапрошлый век.
Вэб-сервер можно поднять на любом, достаточно производительном андроид-устройстве.
Просто установив на него тот же nginx,php,mysql (оказывается так можно, до недавнего времени не знал-)
В идеале конечно было бы лучше поднять на нем какой нибудь Linux для ARM-процессоров, но читал, вроде пока не все так просто.

18 августа 2019 в 12:21

Это понятно, хотя на достаточно производительном компе, потери производительности будут мало заметны .

И резкий переход с windows на docker не каждый потянет.

Тем более, я слышал в windows с докером не все та просто.

А так (в VirtualBox) есть возможность постепенно, не вылезая из привычного комфортного окружения (Windows) привыкнуть к "непривычному" для пользователя, но "родному" для web-разработки-)

18 августа 2019 в 11:45

Проще поставить убунту-сервер на VirtualBox: https://www.osboxes.org/ubuntu-server/
установить на него LEMP( Nginx, PHP-FPM,Mysql) или LAMP(если нужен Apache вместо Nginx)
https://www.digitalocean.com/community/tutorials/linux-nginx-mysql-php-l...

18 августа 2019 в 11:14

переменная $query имеет класс: web/core/lib/Drupal/Core/Database/Query/Select.php
метод execute() возвращает объект, реализующий интерфейс: web/core/lib/Drupal/Core/Database/StatementInterface.php

Метод fethAll() данного объекта возвращает массив:

17 августа 2019 в 18:25

Да.
Как минимум, можно использовать выше предложенный модуль как образец и учебное пособие.
Drupal - OpenSource.
Т.е. исходники Drupal и его модулей полностью открыты для изучения.
Если задача не слишком "экзотическая", всегда можно найти готовое решение подобной задачи и подсмотреть реализацию.
Это не стыдно, и даже наоборот-)

17 августа 2019 в 11:26

Да.. больше похоже на фильтры, но они, насколько я помню, при сохранении материала отрабатывают.
А проблема, как пишет автор, и при загрузки формы редактирования.

И если соединение обрывается, в каких-то логах что-то должно быть.
Неплохо бы посмотреть еще и логи браузера.(консоль и вкладку Сеть(Network))

Есть предположение, что в контенте что-то не так: невалидный HTML, какие-то "экзотичные" символы (например при копипасте контента(html) в текстовое поле).

15 августа 2019 в 7:03
1

Но чаще(имхо) бывает так, приходит заказчик:

Он тебе: Хочу сайт, одно товарное предложение в 5-ти модификациях и телефон в шапку.
Ты ему: отлично, статика, тяп-ляп - готово!
Он тебе: Супер! Осталось добавить пару штришков: интерграция с АТС,CRM и т.п. и онлайн заказ.
Ты ему: Блииин! Этож все с нуля надо будет делать, на CMS.
Он тебе: ****************!!!...**.

5 августа 2019 в 11:36

Portainer и прочие админские штучки "наружу" не высовывать, а раскидать по портам localhost.
А для доступа к ним поднять еще один докер с SSH-))
Или пользоваться SSH хост-системы, и ходить на админки через туннели, проброшенные с локального компа.

2 августа 2019 в 18:52

Лет надцать назад ковырялся я с этими "индивидуальными" ценами товаров коммерца.
Поэтому подробности уже "затерлись"..-)
В том случае это была цена для "региона", т.е. некоего текущего "контекста".
У вас скорее всего цены для пользователей по тому же принципу.

Так вот.. "индивидуальная" цена бралась из кэша, скорее всего идентификатор записи кэша как-то был связан текущим "контекстом".
А вьюс просто делает запросы к полям-таблицам БД, поэтому и цену выдает не "индивидуальную".

30 июля 2019 в 10:57

Извиняюсь, ссылка "битая", так лучше: https://www.drupal.org/project/external_entities

там как раз реализован кастомный "слой" EntityStorage, для работы с удаленным стореждем как с "родным".
"Изучал" код этого модуля для решения подобной задачи.

24 июля 2019 в 6:11

Каждый кулик свое болото хвалит(с)-)

Имхо, макось - основательно допиленный напильником "линукс".
Если "алергически" не переносите напильник - значит макось.
Если любите все сами для себя, с любовью(во всех смыслах этого слова), напилиничком - значит что-то из линейки "линукс".
Как минимум для вэб-разработки(не считая "дизайн" и прочие фотошопы) Windows однозначно маздай.

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

22 июля 2019 в 21:42

Quote:

Я посмотрел структуру таблицы. Поле ID является уникальным, но без автоинкремента.

Это "сейчас" так, есть гарантия что параметры таблиц в БД никто не менял?

А если всё-таки не менял, значит назначение ID новому материалу производится "программно" в каком-то модуле, скорее всего "самописном".

Значит надо сначала выяснить, каким образом новому материалу назначается ID: программно или автоинкрементом в БД.

22 июля 2019 в 7:54

Сначала надо разобраться в причинах такого поведения модуля.
Откуда взялись материалы с ID, большим чем текущее значение счетчика автоинкремента.
Я почему-то сомневаюсь, что поле ID уникально, но не автоинкрементно.
Если конечно по логике приложения нет необходимости назначать ID материала не по возрастающему порядку.

19 июля 2019 в 18:33

По ссылке "готового решения" для Drupal не увидел.
Да уже и без него в интернетах работает куча "публичных" и "непубличных" решений.
Так что в любом случае: с добрым утром, проснулись?