Найти - Пользователи
Полная версия: ZSQL Method с параметром и break в tal:repeat...
Начало » Zope/Plone/Bluebream » ZSQL Method с параметром и break в tal:repeat...
1
NilovSerge
Всем привет!
1) Мне нужно вызвать ZSQL Method из tal:repeat с передаваемым параметром Как это можно сделать?
Все попытки написать
<span class=“Row” tal:repeat=“LogonItem container/SQL/RetrieveEmployeeLogonStatus(s_pin_code)” tal:omit-tag=“”>
валились где RetrieveEmployeeLogonStatus - ZSQL Method с параметром s_pin_code
До этого я писал вызовы ZSQL Method но там параметры именами совпадали с параметрами request-а и так и работало
В данном случае s_pin_code это не параметр request-а

2) А есть ли возможность для tal:repeat прерывать цикл при необходимости Такой break?
На самом деле мне надо обработать RetrieveEmployeeLogonStatus(s_pin_code) который возвращает много строк и вывести только первую строку
У dtml есть <dtml-call а у tal-?

3) А как из python-скрипта выбрать данные из MySql базы используя параметры подключения обьекта Z MySQL Database Connection?
Если можно ссылку на пример
albert
1) используй python выражения:
<span class=“Row” tal:repeat=“LogonItem python:container.SQL.RetrieveEmployeeLogonStatus(s_pin_code)” tal:omit-tag=“”>
2) опять-же используй python выражения:
<p tal:content="python:container.SQL.RetrieveEmployeeLogonStatus(s_pin_code)“>
или
<span class=”Row“ tal:repeat=”LogonItem python:container.SQL.RetrieveEmployeeLogonStatus(s_pin_code)“ tal:omit-tag=”“>
или
<div tal:define=”items python:container.SQL.RetrieveEmployeeLogonStatus(s_pin_code);
items python:items“>
<span class=”Row“ tal:repeat=”LogonItem items“ tal:omit-tag=”">
последним вариантом я пользуюсь чаще. Предварительно определяю все переменные, которые будут использоваться в шаблоне и не перегружаю шаблон длинными определениями.
3) А чем тебя ZSQL Method не устраивает? Если динамически создаешь SQL, то можно юзать DTML.
NilovSerge
Спасибо albert с 1) и 2) разобрался
Насчет 3) просто надо написать такую процедуру где нужно сначала залезть в базу и считать данные и в зависимости от считанных данных
выполнить одно из действий… К тому же эта процедура будет вызываться из разных мест. Наверно Python-функцией удобней б было…
Можно такое сделать?
albert
NilovSerge
в зависимости от считанных данных
выполнить одно из действий…
Если набор действий ограничен, то что мешает сделать несколько методов?

NilovSerge
К тому же эта процедура будет вызываться из разных мест.
А в чем проблема?

NilovSerge
Наверно Python-функцией удобней б было…
нет, не удобней.

NilovSerge
Можно такое сделать?
Можно, но придется делать External Method или отдельный продукт, что слегка неудобно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB