iWatchYouFromAfar

iWatchYouFromAfar

Был в сети 13 января 2025, 13:53
Заказы не принимаю
Если программист толковый, то заменить нужно лишь в шаблонах или чанках. Бегать по всему сайту и менять везде не имеет смысла. Обновляется все или не обновляется, это не так важно, завтра вы перестанете обновлять ваш компонент и что? Или MODx перестанет обновляться? Я вообще не вижу смысла в этом компоненте.

Есть JS готовые библиотеки, и уж подключить JS и заменить структуру у картинки, это ясли детский сад. Не забываем что у библиотек настройки выносятся в JS и их там куда больше, чем в вашем компоненте.
Во всем интернете LL лежит бесплатно, а у MODX платная, шикарно.

github.com/verlok/lazyload
dinbror.dk/blog/blazy/

Бесплатная ленивая загрузка, интегрируется на уровне закинуть JS файл, подключить и поправить разметку как в описаниях.
для Александр Мельник

Пишу еще раз — поставьте заглушку в src, дабы не ругался валидатор. Я например по совету
@Petr Golovatyy поставил svg-loader иконку. Контент не прыгает, а если и прыгает то 70% пользователей этого не заметят, другим на эту мелочь думаю будет пофиг. К тому же, это касается только контентных изображений.

P.S.
Вообще Петр прям вовремя написал этот пост, потому что вопрос с отдачей web/jpg картинок именно в контенте, вопрос довольно сложный для меня. Если для миниатюр можно заранее задать разметку picture и прописать все атрибуты, но с контентом так не получится. Ну и вариант Петра через конфиги просто идеален.
В data-src изображение есть по умолчанию, следовательно ничего туда через JS не раскрывается. Наоборот, этот атрибут удаляется (например в blazy плагине), а изображение подставляется в src. Но это если viewport дошел до картинки и она загрузилась, а так, все изображения боты будут кушать из дата атрибута.

В src, как я уже сказал, подставляется заглушка (прелоадер), который удаляется как только изображение подгрузилось. Но вот как бот среагирует что во многих src стоит одна и та же заглушка, я не знаю. По сути это не должно ни на что влиять.
Никогда не использовал пакет, хотя помнится мне как-то раз решился, но не помню почему так и не установил. Баха, тебе респект что вник в чужой код, что обновил все это и выложил в паблик через PR!

P.S.
Отдельно респект за подробное описания, мне для своего мини-пакета было лень все это делать… :)
Моему пакету пофиг чужой материал или нет. Логика плагина примерно такая:

  1. Менеджер заходит в ресурс, с например, идентификатором 125
  2. Если по пути assets/resources/ еще нет папки 125, она создается (певая часть пути assets/, задается в источнике файлов пользователя)
  3. Если папка 125 уже есть (она создается в момент первого рендера ресурса), пользователь при попытке открыть файловый менеджер. попадает прямо в неё и видит там все файлы.
  4. Находясь в папке assets/resources/125/, пользователь не может перейти в другие папки, потому как идет привязка к id ресурса.
P.S.
Результат работы, вы можете увидеть на моем сайте,
прямо в примере документации. Обратите внимание на пути изображений, они на всем сайте рассортированы по папкам с id ресурса. А в самом низу результат работы пакета.

Если и так не понятно, то установите пакет на modhost и посмотрите его логику. Привязка идет к id ресурса.
Что вы имеете ввиду под «материалами» и «редактировать материалы»? 95% работы с файлами это загрузить / удалить файл. Мой пакет не нарушает эту логику, он лишь автоматически структуру создает.
Одно дело когда вы создаете сайт. Клиента зачастую не должно волновать что вы используете, особенно если речь про лендинги и простые интернет-магазины. Когда проект сложней и больше, там и спрос другой и люди которые у вас заказывают сайт, должны иметь хотя бы малейшее представление о том, что заказывают.

Другое дело — когда вы продаете сборку. Как на ультрон.про, налепят типовых шаблонов, натянут на modx, соберут в пакет и продают. Что вы продаете? Верстку и интеграцию её в modx? Зачем это в модсторе? Ну давайте сидеть, натягивать верстки на modx, собирать их в пакеты и продавать… Лучше бы на ультрон.про закинули, чем на модстор…
Т.е. продается сайт на бесплатной системе MODx, с плейсхолдерами на бесплатных компонентах (ClientConfig, MIGX и прочих).У вас есть прекрасный компонент GoogleSheets, стоимость 990р. На мой взгляд, даже дешево.

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

Дело конечно ваше, но засорять магазин сомнительными пакетами, не очень хорошая идея.
Я тоже за добро, мир, дружбу и жвачку. И тут этого полно, это очень дружелюбное сообщество, тут помогают и очень часто. Наверное это потому что оно не очень большое и многие друг друга давно знают.

Нуждающиеся находятся не здесь, а в больницах, дет. домах и т.д. А тут люди сайтики делают, многие за деньги. Так что, не такая уж и проблема закинуть человеку на кошелек 300р. Специалист не станет миллиардером, вы беднее не станете, а специалиста это мотивирует помогать. Иногда он даже бесплатно будет это делать.

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

Так почему бы не предложить человеку, который вам дал готовое решение — деньги? Наверное потому что вам жалко тратить на такой пустяк деньги, тут работы на 5 минут да? Если вы работаете с сфере создания сайтов, вы должны понимать что это неправильно. Мы не росой и лучами солнышка питаемся, а едой, которую нужно покупать за деньги, а деньги разработчики зарабатывают знаниями.
Нужно сделать много вещей которые пригодились бы многим. Много решений для минишопа уже есть тут, есть сам бесплатный компонент, есть документация, даже бесплатные компоненты к нему есть.

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

P.S.
Числовой артикул, уникальный, потому что id ресурса.
<?php
if ( $modx->event->name != "OnDocFormSave" || $resource->get('class_key') != 'msProduct' || !empty($resource->get('article')) ) return;

// Создаем артикул формата Случайное число от 0 до 999-IDродитель-IDтовара
$resource->set('article', mt_rand(0, 999).$resource->get('parent').$resource->get('id'));
$resource->save();
$resource->clearCache();