We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 24531
    • 213 Posts
    Нужно сделать http://allrad.ru/ru/wheels/select_car/

    то есть сначала список брендов, потом в зависимости от выбранного бренда список моделей, как это проще всего реализовать?
      • 28814 ☆ A M B ☆
      • 1,086 Posts
      В приведенном примере используется выборка из БД с помощью AJAX. Чтобы сделать именно такую выборку, прежде продумайте саму систему ввода и хранения этой информации - как Вы будете ее реализовывать с помощью MODx.
      Здесь на самом деле просится отдельная структура, например, модуль, где будут вводиться данные по маркам и моделям машин. И уже из этой структуры потом производить выборку.
        Разработка сайтов и программных модулей на MODX.
        Опыт работы на MODx с 2005 года. Высокое качество.
        Компания Baltic Design Colors: http://www.bdcolors.ru.
        • 24531
        • 213 Posts
        т.е. нужно через модуль делать в бд новые таблицы со значениями, из которых потом уже выбирать? а есть ли вменяемая документация по DBAPI и вообще по API, я смотрел в вики, там половина недокументирована, если не больше...
          • 785
          • 2,113 Posts
          Не согласен, что нужно делать отдельный модуль для добавления записей в базу. Изменения модельного ряда не так часты (если речь идет именно об автомобилях), а несколько раз в год добавить десяток записей можно любым способом – проще всего импортировать из текстового файла с разделителями. Xранить информацию при этом нужно в отдельной таблице базы данных, а не в документе MODx.

          А по поставленной задаче – следует определиться, каков общий объем информации для всех производителей. Если не слишком велик (несколько десятков килобайт), на надо использовать AJAX – лучше все реализовать на JavaScript, загружая сразу все варианты. Если объем информации велик, можно использовать AJAX.

          Похожий пример на MODx с использованием AJAX можно посмотреть тут – база данных населенных пунктов. Как все делается на JavaScript – легко можно увидеть (файл AdrBase.js). На PHP тоже все несложно – обращение к базе и формирование списков, хотя есть некоторые тонкости.

          Отмечу важный недостаток AJAX – при формировании множества страниц обычным способом они все нормально индексируются поисковой системой (если использовать нормальные ссылки, а не открывающиеся списки), а с AJAX или JavaScript все страницы с описаниями не будут проиндексированы. Нередко это является самым главным при выборе технологии.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 785
            • 2,113 Posts
            Quote from: rav3n at Mar 04, 2008, 08:46 AM

            а есть ли вменяемая документация по DBAPI и вообще по API,
            Если использовать AJAX, API практически не понадобится, так как в асинхронном вызове обращение к базе идет обычным способом, без средств API. Опять же, если планируется использовать AJAX, можно посмотреть AjaxSearch, чтобы понять, как такое можно реализовать. А описание API можно собирать по кусочкам из разных мест…
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 28814 ☆ A M B ☆
              • 1,086 Posts
              Quote from: AKots at Mar 04, 2008, 08:58 AM

              Не согласен, что нужно делать отдельный модуль для добавления записей в базу. Изменения модельного ряда не так часты (если речь идет именно об автомобилях), а несколько раз в год добавить десяток записей можно любым способом – проще всего импортировать из текстового файла с разделителями. Xранить информацию при этом нужно в отдельной таблице базы данных, а не в документе MODx.
              Да, я вобщем-то тоже имел ввиду отдельную таблицу. Модуль безусловно необязателен. Хотя предусмотреть удобную систему ввода данных не мешало бы.

              Quote from: AKots at Mar 04, 2008, 08:58 AM

              Отмечу важный недостаток AJAX – при формировании множества страниц обычным способом они все нормально индексируются поисковой системой (если использовать нормальные ссылки, а не открывающиеся списки), а с AJAX или JavaScript все страницы с описаниями не будут проиндексированы. Нередко это является самым главным при выборе технологии.
              Такая проблема существует, я видел сайты, построенные полностью на AJAX smiley, - кошмар просто, ни одна страница не имела реального адреса URL.
              Но в данном случае AJAX мне кажется наиболее удобном решением.
                Разработка сайтов и программных модулей на MODX.
                Опыт работы на MODx с 2005 года. Высокое качество.
                Компания Baltic Design Colors: http://www.bdcolors.ru.
                • 24531
                • 213 Posts
                2 AKots речь идет именно об автомобилях, и онлайн подбору дисков и шин, вариант с csv более привлекателен, в том плане, что писать свой модуль конечно занятие увлекательное, но уж больно ресурсоемкое...

                за пример спасибо.

                про данный недостаток AJAX я знаю, но поскольку на каждый конкретный диск или шину будет своя отдельная страница с описанием, то это несущественно...

                задача для меня новая довольно-таки и в голове пока сумбур, вместо четкого видения того, как это должно работать...

                спасибо за советы!
                  • 785
                  • 2,113 Posts
                  Quote from: rav3n at Mar 04, 2008, 09:15 AM

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

                  Quote from: rav3n at Mar 04, 2008, 09:15 AM

                  задача для меня новая довольно-таки и в голове пока сумбур, вместо четкого видения того, как это должно работать...
                  Могу коротко описать, как я делал:
                  1. Написал простую программу по наполнению базы данных, абсолютно не связанную с MODx (естественно, сначала продумал структуру и создал таблицу).
                  2. Создал сниппет, который обращается к базе и формирует первый список. При обращении к базе API MODx не используется (все равно потом нужно будет писать на простом PHP, так что и вначале сделал так же для единообразия).
                  3. Написал небольшую программу на JavaScript, реализующую вызов AJAX.
                  4. Разработал программу на PHP, которая вызывается при выборе варианта в списке (вызов идет через index-ajax.php). В моей программе идет обращение к базе данных. В начало добавил вызов:
                  require_once(MODX_MANAGER_PATH . ’/includes/protect.inc.php’);
                  Это единственное, что связано с использованием MODx, а так чистый PHP и MySQL.
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации
                    • 17459
                    • 268 Posts
                    Ребят, я не спец по AJAX, то точно знаю, что JSON где-то рядом. smiley


                    [!Ditto?format=`json` &depth=`2` &display=`all` ... !]
                    это вызывается в шаблоне раздела (тип, наверное, text), у него есть подразделы, там свои страницы. То есть как раз 2 уровня.
                    http://ditto.modxcms.com/files/assets/snippets/ditto/formats/json-format-inc-php.html

                    Вообщем, использовать какую-либо другую структуру считаю ненужным... В данном случае это можно сделать средствами ModX...
                      • 785
                      • 2,113 Posts
                      Quote from: Lord at Mar 04, 2008, 10:06 AM

                      [!Ditto?format=`json` &depth=`2` &display=`all` ... !]
                      И чего дальше? Получаем список документов в формате JSON, что с ним делать-то?
                        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                        Статьи о MODx, регулярно новые публикации