We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 30247
    • 74 Posts
    Пока увидел 3 проблемы:
    1.Вложенность свойств. Например Валенок->Цвет->желтый->изображение
    2.Влияние свойства на цену.
    3.Возможность присвоения одного свойства группе товаров.

    Все остальное можно обрабатывать при запросе:
    1.Акции прописывать отдельно, указывая либо id товара участвующего в акции, либо id категории товаров.
    2. Зависимые параметры рассчитывать на лету например Вес калоши=размер калоши * коэффициент.

    Думаю...
    ADD:
    А если в модуле предусмотреть такую возможность:
    Выбираем все валенки со свойством желтый и добавляем им всем свойство изображение.
    Точно так же задается цена для определенного набора свойств.
    Но тут единственная проблема в дублировании информации. Насколько это плохо?
      • 785
      • 2,113 Posts
      Ну да, и если у меня валенок из овечьей шерсти весит 1Кг, а из шерсти кенгуру – 2Кг, как я буду умножать название шерсти на коэффициент? И еще, например, для каждого типа шерсти есть параметр «экологичность», для овечьей это «стандарт», а для кенгуру – «эко-грин», и как я это программно сделаю? То есть имеются группы параметров, которые нельзя просчитать один из другого, а есть параметры, которые надо присвоить всей группе – например, цвет. И дублировать ничего не надо, есть способы решения таких задач, просто структура таблиц немного иная.
      При каком запросе прописывать акции? Например, из пяти тысяч товаров я половину хочу сделать акционным – для этого я добавляю свойство «акция» с номером и дополнительным атрибутом и присваиваю его нужным товарам, а в конфигурации задаю, что при акции номер 5 надо обрабатывать дополнительные атрибуты по такому-то алгоритму (например, умножать на дополнительный атрибут и писать какой-то текст, а основную цену писать зачеркнутой).
      В действительности я написал только о части проблем, там их больше. И рассказывать обо всех я не собираюсь – на это уйдет много времени и сил. Просто привел пример, как предложенная структура не будет работать.

        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 785
        • 2,113 Posts
        Quote from: Andchir at Feb 07, 2010, 09:56 AM

        По-моему правильнее было бы исправить эти ошибки и убрать ограничение. Впрочем до Рево осталось не долго...
        Исправить невозможно, так как основная проблема в том, что в кэше хранится все дерево сайта, и при большом его размере требуется слишком много памяти. Для исправления надо изменить принцип работы системы, но при этом небольшие сайты будут работать медленнее, так что вряд ли эти изменения оправданы. А по тому, какие ресурсы требует версия 2.0, там проблема встанет еще острее.
        Я выше написал, что десяток тысяч товаров – это совершенно не обязательно большой магазин. Автозапчасти, мебель, компьютерные комплектующие и многие другие направления предполагают огромный ассортимент, при этом часто при поступлении заказа товар приобретается у оптовика и продается покупателю – так работает большое количество интернет-магазинов. Но при большом ассортименте оборот невелик, и денег на дорогие системы нет.
        Единственное неудобство со стандартными сниппетами – невозможность использования Ditto, так как остальные сниппеты в принципе и не нужны для работы с каталогом. Однако если учесть усилия, которые многие прилагают для настройки Ditto под стоящие задачи, часто проще написать свой собственный сниппет под конкретные нужны – он будет и работать быстрее и лучше реализует поставленные задачи. А невозможность переменного количества параметров TV существенно ограничивает их возможности, так что дополнительная таблица в некоторых случаях все же является правильным решением. Конечно, для простейших магазинов это не требуется, но далеко не все магазины таковы.

        Кстати, я выше описал пример с валенками – как такую задачу можно описать с помощью структуры MODx?
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 785
          • 2,113 Posts
          Да, если изменить код, расход памяти уменьшится, но и скорость работы на небольших сайтах тоже уменьшится. При этом неизвестно, пойдут ли разработчики таким путем, а по ссылке только пример, который нельзя считать рабочим вариантом. И в любом случае, создание дополнительной таблицы мне больше по душе, чем модификация ядра системы с непредсказуемыми последствиями. А если PHP будет «кушать» хотя бы по 30 мегабайт, то даже при средней посещаемости памяти вечно будет не хватать. Или для каждого небольшого сайта выделенный сервер ставить, следуя сомнительному принципу «не экономить на хостинге для коммерческого сайта»?
          А по TV – при чем тут значения по умолчанию? Есть, например, два товара, первый из которых может быть трех типоразмеров и, соответственно, для каждого размера своя цена и вес, а второй – двух размеров. И также первый товар может быть в 25 цветах, а второй – в 5 цветах, причем для каждого цвета надо задать имя файла и название (это конкретный пример из области мебели). И что предлагается? Создать 9 TV для размеров, веса и цен, а также 50 TV для цветов (названий и файлов)? А завтра товар появится, который может быть 10 типоразмеров – значит, создаем 30 TV. И если вдруг появится вариант в 26 цветах, вновь потребуется увеличивать количество параметров. И добавляя простенький товар, с одним размером и одним цветом, я получу сотню полей, которые заполнять не надо. Зато всегда есть вероятность, что заданное «по максимуму» количество TV вдруг не хватит. Кстати, еще требуется возможность задания сортировки параметров, то есть сегодня на первом месте стоит один типоразмер и все связанные с ним параметры, а завтра – другой. Еще можно дублировать информацию, и для каждого варианта товара создавать свой документ MODx, но тогда база вырастет еще быстрее.
          Создавая собственную таблицу, я могу добавлять параметры, количество которых задается для документа, а не для шаблона (а делать уникальный шаблон для каждого документа совсем нерационально). Кроме того, я могу связывать разные параметры в группы и делать составные параметры, состоящие из нескольких значений. Именно это требуется для описания ряда задач. Теоретически можно написать плагин для редактирования дополнительных параметров так же, как и стандартных, а также внести изменения в программы работы с параметрами, но намного проще реализовать дополнительные модуль и сниппет.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 785
            • 2,113 Posts
            И как реализовать описанный мной пример? Если учесть, что названия цветов, типоразмеры и прочие характеристики параметров заранее не известны.
            А по поводу памяти – не знаю, где она дешевая, а на известных VDS она очень даже дорогая, если, конечно, докупать не 16 мегабайт, а реальные объемы.
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 30247
              • 74 Posts
              Отвлеклись от сути...
              По поводу сложности: Дорогу осилит лишь идущий. Поэтому с чего то надо начинать.
              по поводу необходимости: в таком ключе и модх не нужен, есть и много других бесплатных...

              Предлагаю вернутся к сути:
              Предложенная структура бд не удовлетворительна по гибкости.
              Пока я читаю книжки и подсматриваю в чужие БД прошу высказать свои взгляды на реализацию структуры БД.
                • 785
                • 2,113 Posts
                Так высказывается мнение, что имеющихся TV достаточно – мне интересно, как описанный пример можно реализовать в таких условиях.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 785
                  • 2,113 Posts
                  Quote from: Andchir at Feb 07, 2010, 01:43 PM

                  Извините, я не понимаю какой именно пример, Вы их привели много.
                  Последнией:
                  Есть два товара, первый из которых может быть трех типоразмеров и, соответственно, для каждого размера своя цена и вес, а второй – двух размеров. И также первый товар может быть в 25 цветах (для каждого типоразмера), а второй – в 5 цветах, причем для каждого цвета надо задать имя файла и название, а также коэффициент цены. Еще требуется возможность задания сортировки параметров, то есть сегодня на первом месте стоит один типоразмер и все связанные с ним параметры, а завтра – другой. Заранее никакие значения параметров неизвестны, как и их количество.
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации
                    • 785
                    • 2,113 Posts
                    Quote from: Andchir at Feb 07, 2010, 02:32 PM

                    Вам не нужны, а другим могут понадобиться например отзывы о товарах (Jot), рейтинг (AnythingRating и т.п.). Это вы тоже будете писать с нуля?
                    Если задача в том, чтобы на странице был только один товар (а Jot и AnythingRating именно для этого случая предназначены), то наличие дополнительных таблиц не помешает их использованию, а если цель в выводе нескольких товаров на страницу, то без дополнительных таблиц не обойтись.

                    Quote from: Andchir at Feb 07, 2010, 02:32 PM

                    Это мы вроди уже частично обсудили. Не вижу сложностей.
                    Не знаю, с кем и где обсуждали (ссылка на совершенно другой пример вряд ли является обсуждением), а описания TV, которые могут это реализовать, нет.
                      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                      Статьи о MODx, регулярно новые публикации
                      • 785
                      • 2,113 Posts
                      Quote from: Andchir at Feb 07, 2010, 05:49 PM

                      сниппеты типа Jot и AnythingRating придется немного переделать
                      Ничего на надо переделывать, по крайней мере, для этих сниппетов.

                      Quote from: Andchir at Feb 07, 2010, 02:32 PM

                      У меня мозг вскипает когда это снова читаю wink. Вы правда считаете, что описанный вами пример может быть распространенной задачей?
                      Задачи бывают и сложнее, а эта основана на конкретных требованиях по мебельному магазину. Описание товара в общем случае может не укладываться в простую линейную схему. В принципе путем некоторых извращений можно привязать все, что угодно к имеющейся структуре TV, но дополнительная таблица решает все проблемы намного проще.

                      В принципе нет смысла спорить дальше, если кого-то полностью устраивают имеющиеся возможности описания каталога в рамках таблиц MODx, тому ничего дополнительно делать не надо, а если этих возможностей не хватает, проблемы можно решать разными способами, и дополнительные таблицы – один из наиболее простых.

                      Кстати, Jot при желании тоже можно было бы сделать на основе стандартных таблиц MODx, но почему-то используются дополнительные таблицы.
                        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                        Статьи о MODx, регулярно новые публикации