Рейтинг:-1

Изменить CSS без изменения файлового дерева веб-сайта

флаг cn

Мне нужно немного изменить CSS моей текущей темы (скажем, до 100 строк).

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

Скорее, я хочу добавить некоторый глобальный CSS, который влияет любая актуальная тема (данные селекторы по-прежнему совпадают), но желательно таким образом, чтобы не изменить веб-сайт файловое дерево (так что, если я обновлю Drupal, ни один глобальный файл CSS не будет по ошибке удален).

Есть ли способ добавить такую ​​«базу данных-глобальный-CSS» (или «базу данных-глобальный-JS», с помощью которой я косвенно добавлю CSS) через ядро? Какой-нибудь неприятный трюк?

Рейтинг:2
флаг de

Поскольку вы не хотите использовать подтему, я бы рекомендовал создать собственный модуль для подключения пользовательской библиотеки с вашим «глобальным CSS». Просто подключите библиотеку к соответствующему preprocess_hook(), и это должно помочь.

флаг cn
Hello, thanks, wouldn't that alter the filetree? I don't want to touch any file in the filetree.
Kevin avatar
флаг in
Это единственный способ.
misterdidi avatar
флаг de
Well, it would add files, of course. But you cannot add any custom CSS/JS without either altering existing files or adding new files.
флаг cn
@misterdidi that may be correct for Drupal, but it's not correct for MediaWiki, for example.
misterdidi avatar
флаг de
@Alkalix, I was talking for Drupal only, yes. :-)
флаг cn
Вам нужно изменить разметку, поэтому, если у вас уже не установлено что-то на сайте (contrib/custom модуль), который позволяет вам взломать CSS на странице через базу данных, каждое решение в Drupal потребует изменения файловой системы. Другой вариант — разместить прокси-сервер перед сайтом и переписать его на лету, чтобы он ссылался на файл CSS, который вы размещаете где-то еще в Интернете. Но вы находитесь на серьезной инженерной территории
Kevin avatar
флаг in
MediaWiki не имеет к этому никакого отношения...
флаг cn
@Clive `Другой вариант - вставить прокси-сервер перед сайтом и переписать его на лету, чтобы связать с файлом CSS, который вы размещаете где-то еще в Интернете. Но вы находитесь на серьезной чрезмерной инженерной территории, с немного более подробной информацией, может быть, это ответ? Я использую GitHub и как-то вызываю код оттуда.
флаг cn
Боюсь, здесь это неуместно, но многие современные прокси-сервисы, вероятно, имеют эту функцию. Cloudflare вроде как https://www.cloudflare.com/apps/add-css
Kevin avatar
флаг in
Полагаться на GitHub для обслуживания CSS ненадежно — вам нужен хост и CDN. Честно говоря, поместите 12-строчный файл CSS в модуль или тему в Drupal.
флаг cn
@ Кевин, да, я думаю, что понял, спасибо.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.