Как зациклить несколько переданных параметров в шаблоне закрытия Google?

Допустим, у меня есть эти массивы в JS:

var array1[];
var array2[];
var array3[];

И эти массивы имеют некоторые значения, и я хочу передать их в шаблон закрытия Google. Допустим, имя файла моего шаблона закрытия — MyArraysTemplate, и я хочу настроить таргетинг внутри MyArraysTemplate на этот конкретный шаблон -> «ThisArrayTemplate». Вот так:

var myhtml = MyArraysTemplate.ThisArrayTemplate({
   array1 = array1,
   array2 = array2,
   array3 = array3
});

Теперь, как мне зациклить все эти массивы с помощью всего одного цикла, потому что я хочу поместить их в одну таблицу. Что-то вроде этого:

{ foreach $array_1 in $array1 $array_2 in $array2 $array_3 in $array3 }

#Build their table here

{/foreach}

Как это сделать? Этот код выше является недопустимым синтаксисом.


person Belmark Caday    schedule 03.10.2013    source источник


Ответы (2)


Определите шаблон table, который принимает один массив в качестве параметра, затем в основном шаблоне вызовите его три раза:

{call .table}
  {param array: $array1 /}
{/call}
{call .table}
  {param array: $array2 /}
{/call}
{call .table}
  {param array: $array3 /}
{/call}
person Ivan    schedule 10.01.2014

var array1[];
var array2[];
var array3[];
var arrSending = [];
for (var i = 0; i < array1.length; i++) {
    array.push(arrSending,array1[i];
}
for (var i = 0; i < array2.length; i++) {
    array.push(arrSending,array2[i];
}
for (var i = 0; i < array3.length; i++) {
    array.push(arrSending,array3[i];
}

Теперь у вас есть один массив arrSending, содержащий объединенные значения массива.

person DevlshOne    schedule 03.10.2013
comment
И как мне получить доступ к каждому элементу внутри массива в шаблоне закрытия? - person Belmark Caday; 03.10.2013
comment
Я полагаю, вам нужно будет отслеживать количество (длину) каждого из исходных массивов и убедиться, что вы разделили arrSending, прежде чем обрабатывать его через замыкания. - person DevlshOne; 03.10.2013