Вход • Регистрация

Как подключить ajax

  • 02 октября 2013 г.
  • http://cms.diafan.ru/dokument/full-manual/templates-functions/#show_search_shop

    — ajax – подгружать результаты поиска без перезагрузки страницы. Результаты подгружаются только если открыта страница со списком товаром, иначе поиск работает обычным образом;

    как прописать то его?
    <insert name="show_search" module="shop" ajax ??? >
    • 02 октября 2013 г.
    • Что угодно, переменная просто не пустая должна быть
      Код
      <insert name="show_search" module="shop" ajax="yes">
      • 03 октября 2013 г.
      • Виталий, не подскажите один моментик:. Делаю карусельку с динамической подгрузкой товаров через Ajax. Когда надо загрузить следующий товар в карусельку , то вызывается Ajax запрос, далее в нем подгружается модуль модели shop.model.php и вызывается метод show_block() с нужными переменными на входе. Результат работы этой функции подается на шаблон вывода блока товаров и полученный HTML код очередного блока прогоняется через json и попадает в карусельку. Все работает, если нужно подгрузить 1 товар, то есть создать очередной пункт <li>.....</li> для карусельки. Функции карусельки позволяют одной командой добавить 1 новое значение.

        У меня проблема, что то меня заклинило, не могу понять как мне получив результат с несколькими пунктами <li>... </li> засунуть их в json, так что бы на выходе получить массив, состоящий из нескольких пунктов <li>....</li>.

        Вот такой код у меня работает :
        Код
        ......
        Customization::inc('modules/shop/shop.model.php');
        $model = new Shop_model($this->diafan);
        $model->show_block($count, $cat_ids, $site_ids, $sort, $images, $images_variation, $param, $hits_only,
        $action_only, $new_only);// все переменные заданы ранее.
        $result = $model->get_result();

        $result["ajax"]=1; // признак того, что это подгрузка через AJAX
        $json=$this->diafan->_tpl->get('show_block', 'shop', $result);
        include_once ABSOLUTE_PATH.'plugins/json.php';
        echo to_json($json);
        return true;

        Все выводится, добавляется - но только если show_block выводит 1 товар, то есть выводится одно значение списка:
        <li>.........</li>


        А как сделать любое заданное количество, что бы правильно обрабатывалось, если show_block выдает несколько пунктов списка:
        <li>.........</li>
        <li>.........</li>
        .....
        <li>.........</li>
        Что то не догоняю как составить json из нескольких значений, так что бы функция, получающая результат ajax запроса легко могла его разобрать по отдельным значениям. Понимаю, что должно быть как то просто, но вот сижу уже несколько часов - не могу понять.
        • 03 октября 2013 г.
        • Вы тем самым хотите скорость загрузки увеличить? Чтобы тянул по одной картинке?
          • 03 октября 2013 г.
          • Наоборот, мне надо что бы загружалось сразу несколько картинок за один запрос.
            • 03 октября 2013 г.
            • А чем плохо допилить скажем вьюху фотогалереи? Тогда можно будет слайды из-под админки настраивать.
              • 03 октября 2013 г.
              • Да не то все это, причем тут фотогалерея?
      • 03 октября 2013 г.
      • <insert name="show_search" module="shop" ajax="true">
        У меня так работало
        • 05 ноября 2013 г.
        • Все верно, надо писать true

          так как в модуле чётко, для 5.2, 5.3.
          $ajax = $attributes["ajax"] == "true" ? true : false;

          Видно что сравнивает он не empty, а на строку "true"
          • 10 ноября 2013 г.
          • Ви1димо в новой версии <insert name="show_search" module="shop" cat_id="current" ajax="true"> совсем не работает, сколько не пытался прикрутить - так и не вышло

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум