Тут две стороны контроля - с одной стороны, за пользователем (с чем с успехом справляется "импортозамещенный" софт в виде СПО с перекрашенными обоями), а с другой стороны - за кодом.
Ибо сказано "владеет тот, кто может уничтожить". Так вот, если ты код не писал, а позаимствовал - хрен ты им владеешь, и все крики про то, как вот отключат враги свой софт - и что вы будете делать без отечественного?!? - пропаганда-буфф.
GavriKos, обертка вокруг чужого продукта - это не форк, а паразитирование.
Сберовская Гига - обертка вокруг VSC (онлайн) и IntelliJ IDEA Community (десктоп).
Это такая же "РФная ИДЕ", как Астра Линукс - российский дистрибутив.
Роман М Сергеев, вы ждете, что кто-то умный 99% работы уже продумал за вас.
Естественно, к вам с широко распахнутыми придут люди, работа которых - лгать, что у них именно так и сделано.
О том, что с вашими задачами их решение в реальности совпадает от силы на 49%, а стоимость приспособления остального оценивается с геометрическим ростом цены за каждый процент - вы толком разберетесь только после покупки...
Роман М Сергеев, спецы топят за то, в чем они спецы, это норма.
Тем более - когда нет четкого ТЗ и нюансов/ограничений, с которыми столкнется то или иное решение.
Однако за Ёксель в любом случае лучше не цепляться. Данные в Ёкселе - это не данные. а мусор в клеточках, рано или поздно на пути развития необходимость постоянно превращать его в данные станет гирей на ноге. Тем более тяжкой, чем более развесистой будет система. Место данных - в базе данных.
shupike, потому что ошибка указывает на то, что этот запрос дальше ближайшего маршрутизатора вообще не уходит. Смотрите на то, что раздает интернет этому серверу, и не выдумывайте рептилоидов.
Сильно зависит от того, что за сайт и какие вокруг него навороты.
Например, если он за Cloudflare - то скрипт в него и упрется, до сайта не дойдет.
А вот если wget таки возвращает страницу сайта, тут же можно grep-ом проверить, действительно ли это страница сайта или сообщение "Министерство Правды заколотило эту дверь на всякий случай, утрись".
weranda, поищите OrangePi на Алиэкспрессе, например - довольно наглядно будет ;)
И немного фантазии - "два по цене трех", например, вы как товарами на витрину выложите?
weranda, и насчет "в одну таблицу или в две" - мальки часто боятся сделать еще одну таблицу или, наоборот, разбрасывают одни и те же данные по нескольким. Так вот, правильность использования БД - не в количестве таблиц или столбцов, а в удобстве обработки данных в них. То есть чаще всего - в грамотной нормализации и подгоне данных и логики именно под реляционное хранение.
weranda, в моем варианте как минимум семь таблиц:
- категории
- бренды
- продукты
- товары
-- свойства товаров
- торговые предложения
-- товары в составе торгового предложения
На самом деле, нет единой универсальной "правильной" схемы. Точнее, есть универсальные, но они далеко не всем нужны. Зависит от того, что у вас за товар и как вы им торгуете. У меня есть пара магазинов на Битриксе, где сделано поперек Битрикса, потому что товар имеет нестандартную логику, и предусмотренное в CMS чаще мешало ее реализовать, чем реально использовалось. У меня есть CMS по маркетплейсам - там свои погремушки, и именно там прекрасно понятна разница между товаром и торговым предложением, если у вас одна карточка - это не строго один товар...
Вы же дали совершенно абстрактную схему ни о чем, а спрашиваете, как сделать оптимально именно вам. Любой конкретный совет будет высосанным из пальца на основании предположений, для которых вы же не дали никакой базы.
И именно из-за того, что вы городите заведомый воздушный замок, еще раз предлагаю: отменить маниловщину и попрактиковаться на готовой схеме CMS. Любой. Чтобы потом вообще понимать, что делаете и зачем, а не городить велосипеды и не подпирать их костылями. Практически неизбежно.
Но вообще-то лучшие практики для интернет-магазина на сайте - это CMS, в которой вся эта логика уже проработана.
Тема куда глубже и сложнее, чем кажется на первый взгляд.
weranda, в обобщенной таблице продуктов - общие характеристики слонов (категория, бренд, что там у вас еще).
В разделенной по вариантам таблице товаров - ключ на продукт и подробности товара (привязка свойств из отдельной таблицы и общие данные конкретного товара типа себестоимости, веса, размеров...).
В окончательной таблице торговых предложений - набор (возможно, нескольких, в отдельной таблице) товаров и данные, которые будут на витрине (картинка, цена, габариты окончательной упаковки...)
@ayran, вы перебираете подоконные костыли.
Бывалые ими просто не пользуются, под линем или маком докер давно сделал эти прыжки в мешках бессмысленными.
Тем более, что всерьез заниматься РНР-бэкендом и не освоить при этом линь просто невозможно.
Ибо сказано "владеет тот, кто может уничтожить". Так вот, если ты код не писал, а позаимствовал - хрен ты им владеешь, и все крики про то, как вот отключат враги свой софт - и что вы будете делать без отечественного?!? - пропаганда-буфф.