2016-06-13 3 views
0

{Module_JSON} позволяет вам анализировать json-файлы в Business Catalyst, однако нет никакой документации или функций для использования данных с использованием жидкости. Я попробовал поговорить, чтобы поддержать, но они сказали, что мои вопросы выходят за рамки поддержки.Пользовательские параметры в Module_Json (Business Catalyst)

Вот что я хотел бы сделать: я хотел бы назвать конкретные элементы в массиве через Json.

{ 
    "description": "List of a collection of Doughnuts", 
    "doughnuts": [ 
    { 
     "id": "5001", 
     "type": "Plain", 
     "price": 0 
    }, 
    { 
     "id": "5002", 
     "type": "Glazed", 
     "price": 1 
    }, 
    { 
     "id": "5005", 
     "type": "Sugar", 
     "price": 1 
    }, 
    { 
     "id": "5007", 
     "type": "Powdered Sugar", 
     "price": 1.25 
    }, 
    { 
     "id": "5006", 
     "type": "Chocolate with Sprinkles", 
     "price": 1.5 
    }, 
    { 
     "id": "5003", 
     "type": "Chocolate", 
     "price": 2 
    }, 
    { 
     "id": "5004", 
     "type": "Maple Syrup", 
     "price": 2.25 
    } 
    ] 
} 

Для разбора JSON вы должны сделать это:

{module_json,json="/mrbean.json" template="/module_json/template.tpl"} 

Скажу, я хотел бы разобрать простой пончик, я хотел бы попробовать и поставить параметр прямо в функции обратного вызова, как это:

{module_json,json="/mrbean.json" type="plain" template="/module_json/template.tpl"} 

Ничего не происходит. Кто-нибудь знает, как я могу это сделать? В противном случае я не понимаю, зачем использовать тег Module_Json. Должен ли я просто использовать Ajax?

ответ

0

Здесь есть довольно ясный пример http://docs.businesscatalyst.com/Developers/liquid/render-your-own-JSON-files-using-module_json Если вам нужна помощь, пожалуйста, напишите здесь.

Пожалуйста, добавьте еще несколько объяснений в свой вопрос.

У вас есть шаблон? Пожалуйста, разместите свой шаблон, чтобы я мог проверить ваш синтаксис.

Если данные, предоставляемые с помощью JSON выглядят следующим образом { "description":"List of a collection of Products", "products":[ { "id":"SLI123", "type":"Toy", "price":20 }, { "id":"SLI124", "type":"Shirt", "price":40 }, то жидкость рендеринг может быть что-то вроде этого

<div>{{this.description}}</div> 
<ul> {%; for products in this.products %} 
    <li id={{product.id}} type={{product.type}}> 
     {%; if product.price == 20 %} 
      Price: Only ${{product.price}}!!! 

{%; else %} 
      Price: ${{product.price}} 
     {%; endif %} 
    </li> 
    {%; endfor %} 
</ul> 
0

Тег не делает никаких предположений о том, как структурирована JSON. Это позволяет загружать любой действительный json, но ставит бремя на вызывающего абонента для обработки данных внутри.

В этом случае, вы можете использовать параметр collection присвоить его переменной, например, так:

{module_json,json="/mrbean.json" collection="food"} 
{{ food.doughnuts[0].type }} <!-- Plain --> 

(те же данные доступны в имени файла, при использовании параметра template.)


В противном случае, я не понимаю, почему тег Module_Json должен быть использован. Должен ли я просто использовать Ajax?

Если это лучше подходит вашему приложению, чтобы пользователь сделал еще одно круговое движение после загрузки страницы, чтобы просмотреть данные, а затем используйте ajax/fetch. Если приложение должно загружать данные как можно быстрее, то module_json может вставить данные в первый ответ.

 Смежные вопросы

  • Нет связанных вопросов^_^