Aleksandr Huz

Aleksandr Huz

С нами с 02 августа 2014; Место в рейтинге пользователей: #20
Aleksandr Huz
15 апреля 2020, 12:39
0
Можно в консоле выполнить:
if($products = $modx->getCollection('msProduct')) {
    foreach($products as $product) {
        $product->set('uri_override', 1);
        $product->set('uri', 'product/' . $product->get('alias') . '.html');
        $product->save();
    }
}

Но, можно указать всем категориям, чтобы они не использовали свои алиасы для формирования url:
$categories = $modx->getCollection('msCategory');
foreach($categories as $category) {
    $category->set('alias_visible', 0);
    $category->save();
}
При условии, что все категории имеют общего родителя. У этого родителя должен быть алиас product и установлена галочка 'Использовать псевдоним в пути псевдонимов'
В этом случае при создании товара вам не нужно ничего делать. А для новой категории убрать соответствующую галочку.
Aleksandr Huz
07 апреля 2020, 20:08
0
да еще, чтобы она отобразилась в гугле как картинка, а не как ссылка
Отобразить картинку можно только если она загружена в google drive
Aleksandr Huz
07 апреля 2020, 15:53
0
В один прекрасный день AjaxForm обновится, уберет из себя jquery и все сайты с вашим дополнением сломаются.
Когда AjaxForm обновится, все сразу же будут удалять с сайта jquery? Многие даже сам компонент не будут обновлять.

Со вторым абзацем я с вами согласен, только с одной оговоркой — заменить слово нужно на лучше.
Aleksandr Huz
02 апреля 2020, 21:13
0
Лучше использовать те допы которые уже установлены, разве нет?
Если есть время или не нравиться лишняя вкладка в ресурсе, то может и лучше. Я предпочитаю использовать готовое и проверенное решение, а не придумывать велосипед.

но разве установка доп компонентов не грузит систему?
Это, наверное, настолько мизерно, что вы не заметите это. Точно не могу ответить на этот вопрос.
Aleksandr Huz
02 апреля 2020, 10:18
0
Если бы вы дочитали статью до конца, то не писали бы эту статью.
Есть готовое решение:
[[!StercSeoSiteMap? &contexts=`web,en`]]
Aleksandr Huz
01 апреля 2020, 11:05
0
На след. недели будет большое обновление и эта проблема уйдет. Если нужно срочно, то пишите в тех. поддержку
Aleksandr Huz
26 марта 2020, 17:58
0
Это я знаю, но разрыв не происходит по вашему примеру. Может я не так делаю. printPdf тоже использует это свойство.

Ваш пример, все равно не решил бы мою задачу.
Единственный плюс в вашем варианте, это то, что можно изменить html.
Спасибо, что поделились!
Aleksandr Huz
26 марта 2020, 17:38
0
А если нужно перенести данные но новую страницу?
Aleksandr Huz
25 марта 2020, 17:14
0
комментарий соответствует интеллекту комментатора))
Aleksandr Huz
25 марта 2020, 17:12
0
Есть разные задачи. Например, у меня была такая:
Есть сайт с таблицами, эти таблицы нужно поместить в pdf и затем распечатать.
Вот основные условия:
1. Это должно работать на фронте.
2. Каждая таблица должна быть на новой странице.
3. ctrl + p не подходит, да и не так как нужно генерирует файл для печати.

Поэтому dompdf сразу отпадает и лучшее решение, что я нашел это html2pdf.

А в чем толк, если pdf создается с помощью canvas -> photo -> pdf
Если вам не подходит, это не означает, что и другим не подходит. В чем толк вашего комментария?

если удобно использовать html2pdf, то подготавливайте и унифицируйте элементы
Есть пример как это можно сделать?
Aleksandr Huz
17 марта 2020, 22:00
0
Зачем это все нужно? Я имею ввиду, что вы добавили категории, пользователей и т.д для кого?

1. Каким образом можно обновить шаблон с ID 1 на тот шаблон, который я через компонент добавляю?
Например, вот так.

2. Возможно ли как-то отлавливать только что созданные источники файлов через пакет и их ID по уникальному имени передавать в шаблон?
Что именно передать? Напишите сниппет, который будет получать необходимый источник и вставьте его в шаблон.

3. Как поправить ресолвер таким образом, чтобы добавление системных настроек и остальных данных из папки elements происходило после создания таблиц из схемы в базу, и установки всех добавляемых компонентов?
Перенести создание сис. настроек в резолвер

4. Каким образом сделать выбор компонентов при установке как в компоненте modMySettings
Изучить исходники
Aleksandr Huz
17 марта 2020, 15:44
0
Спасибо. Понял, за примеры.
Aleksandr Huz
16 марта 2020, 23:58
+1
Может лучше добавить событие, в котором вы сами можете проводить любые условия. События скоро будут.
Aleksandr Huz
12 марта 2020, 16:54
0
С уважением к автору компонента, а то он наверное поседел
Вообще-то, да. Добавил куча возможностей, а обсуждают не то, что я сделал, а как.
Aleksandr Huz
12 марта 2020, 16:45
0
Если вопросы ко мне, то:

1. Данный компонент подгружает другой компонент AjaxForm, который и подключает jQuery, если ее нет.
2. Наличие зависимостей, конечно, это минус. Но если эта зависимость уже есть на сайте, то почему бы и нет.
Aleksandr Huz
12 марта 2020, 16:34
+1
Если уж ты переписываешь полностью — почему не сделать максимально хорошо, к чему полумеры?
Компоненты, которые используют jQuery теперь считаются полумерами?

Я уже писал, что у моего компонент есть зависимость от другого компонента AjaxForm, который тоже использует jQuery, поэтому я использовал зависимость, которая все равно нужна.

Я вот в новых проектах jQuery не использую, соответственно и это дополнение использовать не буду
Такое мнение складывается, что jQuery — это вообще зло и писать в 2020 году на нем это какой-то грех.
Не знаю статистику, но думаю, что 90% пользователей, которые используют компоненты из modstore используют jQuery. И вот этих пользователей я считаю целевую аудиторию, а не разработчика, который в состоянии сам написать админку по новейшим технологиям и разрабатывать сложные проекты.

Для каждого инструмента есть своя задача. Нативный Js конечно хорошо и модно, но ничего плохого в использовании jQuery не вижу.
Aleksandr Huz
10 марта 2020, 15:31
0
Две причины:
1. Мой компонент зависит от компонента AjaxForm, который тоже использует jQuery. Поэтому не видел смысла писать на чистом JS.
2. Я привык к jQuery и не нужно думать о кроссбраузерности.
Aleksandr Huz
04 марта 2020, 10:36
+2
А такой вариант не подходит?
{'!StercSeoSiteMap' | snippet: [
    'contexts' => 'web,en'
]}

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

Для hreflang хорошее решение. Ранее я использовал свой сниппет, который включал и x-default
Кстати, в чанке есть незначительные ошибки — нет кавычек.
<link hreflang="{$cultureKey}" href="{$url}" rel="alternate"/>