Подскажите пожалуйста. У меня в dtml-method-е строится список, беря данные из
ZMySql метода. Теперь мне нужно вывести этот список, но его элементы отсортировать в иерархии, что средствами SQL
я не сделаю. Я вызываю из своего dtml-method-а python-script из которого я вызываю свой sql-метод. Получаю массив данных.
На основе его строю свой массив. А теперь проблема в том, что вернув полученный массив не могу его обработать.
Делаю так:
get_data_select_organizations Script-(Python): ... ResArray=[] # Этот массив я верну result = context.sql.select_regions() # беру данные из Sql ArrRegions = result.dictionaries() L= len(ArrRegions) for I in range(L): RegionId=ArrRegions[i]['regionID'] RegionName=ArrRegions[i]['regionName'] A={'id':0,'name':''} # это будет новая трока в моем массиве A['id']= RegionId A['name']= RegionName ResArray.append(A) # Добавляю 1 строку запроса ... #обработка данных ... return ResArray
В dtml-е:
<dtml-in get_data_select_organizations> <option value="<dtml-var id>" <dtml-if expr="id==SESSION['organizationID']">SELECTED</dtml-if> > <dtml-var name> </option> </dtml-in>
и валится на “name”:KeyError: ‘name’ (Also, the following error occurred while attempting to render the standard error message, please see the event log for full details: ‘name’)
и заместо <dtml-var id> - пишет имя обьекта
Я попробовал вывести <dtml-var sequence-item> и получил на экран :{'id': 14L, ‘name’: ‘ BLUM EL’}
А до свойства ‘name’ я достучаться не смог. Можно ли такое сделать и как ?
Совет юзай ZTP а не DTML - хорош, но в данном случае не подходит. Там довольно большой кусок на dtml и он написан не мной.
Кстати в ZPT я так делал и все работает. Похоже в ZTP и DTML по разному организованные данные при обработке цикла?