Всего 125 962 комментария

Дима Сайт old см. профиль
23 февраля 2022, 22:32
0
То есть вы предлагаете каждый раз указывая якорную ссылку заботиться о том, чтобы она была указана не относительной, а абсолютной?

Такой подход работает надежно ровно до той поры, пока контент-менеджеру (или прямо вам, но в спешке, когда «оперативка в голове занята») использовать якорную ссылку в поле content или другом, где у вас подключен HTML-редактор.

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

Это всё можно победить, конечно, если держать это в голове или описать в документации проекта (ага :) ) но я предлагаю, советую и рекомендую вместо того чтобы «стрелять себе в ногу» тегом base и потом лечить последствия, просто не заниматься самострелом, если позволите.
Дима Сайт old см. профиль
23 февраля 2022, 22:26
0
Конечно, для каждого скрипта указываю абсолютный путь, ведь это всего лишь вместо
<script src="assets/js/bundle.js">
будет
<script src="/assets/js/bundle.js">
зато я точно знаю, что заберу скрипт от корня, а в вашем случае потенциально возможны неожиданности (по моему мнению, прошу не судить строго, может кому-то и нравится не держать пути под контролем а применять пути относительно директорий, а не корня)
Александр Мельник
23 февраля 2022, 21:07
0
Дмитрий, а подскажите как вы например подключаете файлы стилей или скриптов на страницу?
Указав base href = site.com/ Можно на любой странице подключить скрипт используя относительный путь относительно base href.
<script src="assets/js/bundle.js">
и на любой странице он будет подключен, вне зависимости от url
А как поступаете вы? Для каждого скрипта указываете абсолютный путь?
Александр Мельник
23 февраля 2022, 20:54
0
Нет, у меня вполне работают и стандартные якорные ссылки. Иногда, если нужна особая плавность перехода, могу сделать и на javascript.
Та проблема которая описана на stackoverflow решается элементарно, нужно просто в якорной ссылке указывать не #id, а site.com#id
Но даже если у использование base href и создаст какие то проблемы у кого-то, то мне кажется это еще не причина так негативно отзываться о таком замечательном теге, решающим куда больше проблем чем создающим)
Дима Сайт old см. профиль
23 февраля 2022, 19:25
0
Каким образом можно помочь ситуации с помощью js — не понял совсем
Ну как же: понятно же, как работают стандартные фильтры? Мы можем это повторить сами?

Они на JS, по событиям onclick или onchange полей ввода запускают отправку формы (или собирают поля формы и отправляют массив их значений, точнее надо в коде смотреть) на бекенд, получают результат и заменяют им контент на странице (блок результатов и не только — ещё счетчики и состояния других фильтров). Вы можете сами, на любых своих элементах находящихся где угодно на странице, выполнять те же действия, что написаны в стандартном JS-файле.

Конечно, это сложный путь, но зато он лежит в плоскости кода, а не верстки. Те трогая жестко код, по лайту, проще ИМХО решать задачу размещения блоков (абсолюты с кучей media query, flex-ы или вообще masonry либо какой-то свой костылёчек на JS — это уже вкус и предпочтения верстальщика (простите, фронтэндера))
Дима Сайт old см. профиль
23 февраля 2022, 18:53
0
Потому что тег base переопределяет базовый url для работы всех ссылок в документе. Чтобы не повторять то, что уже написано, оставлю вот эту поясняющую ссылку на stackoverflow и предположу, что и у вас якорная навигация работает на JS, но чтобы сделать хорошо работающую якорную навигацию на JS (так чтобы и по прямым ссылкам работал скролл к нужной зоне, а не только по клику на якорь когда страница уже загружена) нужно приложить ряд дополнительных усилий (например парсить адресную строку), хотя всего этого можно избежать, не используя тег base для решения задач, которые вполне можно решить без него, не обрекая себя на «побочные эффекты» от его применения.
Олег
23 февраля 2022, 18:46
0
Возможно разместить правый и левый фильтры в одном блоке если один из них спозиционировать абсолютно(потому что здесь же необходимо разместить блок вывода результатов). А если делать так, то это приведет к большим проблемам с адаптивом(резиновым) и в случае увеличения или изменения количества контента в этих блоках. Каким образом можно помочь ситуации с помощью js — не понял совсем. Если поделитесь буду премного благодарен.
Александр Мельник
23 февраля 2022, 18:27
0
Поясните пожалуйста, почему тег base href ломает переход по якорю?
Я использую данный тег на всех проектах, не только modx и он прекрасен.
Не вижу никаких минусов и переходы по якорным ссылкам работают.
Игорь
23 февраля 2022, 17:59
0
Вот кстати вы сразу ответили и на мой вопрос, про СЕО, гуглил как раз как это скажется для поисковиков рандомный текст.

Понял. спасибо
Денис Мижеревич
23 февраля 2022, 17:40
0
Приветствую. Кто-нибудь в курсе, есть ли подобный модуль, но только с использованием гугл карт, а не яндекса?
Дима Сайт old см. профиль
23 февраля 2022, 17:30
0
Теперь видно, что вывод на скриншоте 2 (который вроде как тебя устраивает) по внешнему виду совпадает с тем, что получилось, так в чем проблема?

Похоже что надо видеть ещё и структуру ресурсов чтобы понять что именно ты ожидал увидеть и почему этого не случилось…
Дима Сайт old см. профиль
23 февраля 2022, 17:25
+1
Просто ты пытаешься плагин использовать как сниппет судя по вот таким попыткам:
{'это {привет|пока} или {добрый день|добрый вечер}' | textGenerator}
Но не очень понятно зачем. Ведь если такую конструкцию заставить работать, она скорее всего будет генерировать каждый раз при перезагрузке страницы новый вид фразы, а такое для SEO например точно не годится))

Хотя в коде сниппета это можно обойти через значительное усложнение, или с помощью кэша результаты будут меняться не так часто, но всё равно записывать один раз плагином (как изначально и задумал автор) кажется максимально логичным — сгенерировал 1 раз по шаблону, записал, и оно там навсегда осталось. Потом можно руками править.
Дима Сайт old см. профиль
23 февраля 2022, 17:20
0
В описании же написано четко:
записывает в поле документа description, если оно не пустое.
Если тебе нужно в другие поля записывать, то нужно на основе этого плагина сделать такие же для других полей. Этот «из коробки» так не умеет, но и исправить его надо совсем чуть-чуть чтобы работало нестандартно, но прямо как надо именно сейчас (указать вместо description другое поле, например introtext или content)
Дима Сайт old см. профиль
23 февраля 2022, 17:15
+1
А возможно лучше остаться здесь на modx.pro, т.к. эти ответы индексируются поиском и структурированы по темам, а не уходят вверх в ленте навсегда, вынуждая тех кто знает ответы, по нескольку раз отвечать одно и то же :)

Ну до тех пор не будет придуман способ индексировать переписку из телеги (и ещё останется задача разделения по темам).

Да, рассуждаю как старикан, но аргументы эти разве не актуальны?
Дима Сайт old см. профиль
23 февраля 2022, 17:10
0
Нееет, не делайте этого, лучше формируйте URL правильно, как подсказали выше.
Устанавливая тег base вы сломаете якорную навигацию если она есть. Это большая загадка, по какому недоразумению эта штука присутствует (или сейчас нет уже, не уверен) в дефолтном шаблоне modx сразу после установки. И даже видел абсурдные разговоры о том, что это «особенность движка» от лиц, которые не очень понимаю видимо как работает HTML в браузере… короче если вы точно не знаете нужен ли вам тег base (а 99.5% что не нужен) — не используйте его!

Вы хотели подробностей, так вот:
Вообще, контролировать наличие начального слеша можно несколькими способами (и к стати если запутаться, можно наткнуться на ошибку с // двумя начальными слэшами так что я например предпочитаю в верстке его добавлять именно так как и подсказал @Роман ) так как пути строятся из частей, каждой из которых в MODX можно управлять (а можно оставить по дефолту и всё тоже будет ок)

На самом деле к любому ресурсу на сайте есть 2 пути, и оба необходимы:
1) где на жестком диске на сервере лежит файл
2) по какому uri его можно получить из интернета

У вас «проблема» (которая на самом деле особенность построения любого относильеного uri в браузерах, подробности на MDN) с путём 2.

Есть параметр baseUrl в настройках источника файлов (а он в свою очередь указан в вашей TV с картинкой) — можно в его значении поставить в начале этот слэш и тогда не придется его дописывать в верстке.

Только не путайте с basePath — это путь до картинки на сервере (путь 1)

Например картинки лежат на сервере в папке /home/user/data/www/site.ru/assets/img/ тогда в настройках Медиа -> Источники файлов -> Картинки будут такими:
1) basePath = assets/img/
2) baseUrl = /assets/img/

Но как здесь видно,
А первая часть пути до папки задается ещё раньше в файле конфига сайта /core/config/config.inc.php
....
if (!defined('MODX_BASE_PATH')) {
    $modx_base_path= '/home/user/data/www/modx.pro/';
    $modx_base_url= '/';
    define('MODX_BASE_PATH', $modx_base_path);
    define('MODX_BASE_URL', $modx_base_url);
}
....
Если всё ещё не понятно, формулируйте вопросы, дожмём тему))
Дима Сайт old см. профиль
23 февраля 2022, 16:46
+1
Ну, разве что можно ещё отправлять почту другим способом, через swiftmailer, или чем-то своим (modHelpers тоже вроде умеет, но подозреваю что настройки также глобальные).

А так годное получилось решение с учетом того, как реализованы домены (раз без контекстов, то тоже плагином), варианты другие в ряд ли и нужны)
Александр Мельник
23 февраля 2022, 16:41
+1
попробуйте в теге header добавить тег
<base href="http://site.com/">
Игорь
23 февраля 2022, 16:41
0
Я думал плагин можно запускать на одной странице несколько штук…
получается работает только для одной фразы… а нельзя сделать что б несколько работало? я хотел по многим местам пройтись с шаблоном…
Игорь
23 февраля 2022, 16:37
0
Все работает. спасибо!
моя ошибка не до конца в феном включил галочки
Дима Сайт old см. профиль
23 февраля 2022, 16:37
0
Намёк понял, придётся парировать: Тогда вдвойне странно, т.к. у вас вопрос по js на самом деле, если не по верстке, но точно не по modx (ведь от бекенда не зависит как у вас отображается фильтр)

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

P.S. У меня похожий макет на предпроектной стадии, если дойдет до заказа (и не забуду :) ), то смогу продемонстрировать на примере…