Найти - Пользователи
Полная версия: Zope:Возможен ли TAL- внутри value="" & и как использовать css в PT
Начало » Zope/Plone/Bluebream » Zope:Возможен ли TAL- внутри value="" & и как использовать css в PT
1
NilovSerge
Всем привет!
1) В DTML-методе я устанавливал первоначальное значение для Input используя <dtml-var…>:

<input value=“<dtml-var s_login>” name=“s_login”>

И это нормально работало!
Попробовал использовать Page template и не смог сделать того же:
Делал так:

<input value=“<span tal:attributes=&quot;replace/form/s_login&quot; ></span>” name=“s_login”>

И в html-форие в input-е я вижу “<span tal:attributes=”replace/form/s_login“ html_qoute></span>”
Получается ято value=“< TAL-construction >…” не рендерится? Я просмотрел ZooBook и не нашел никаких примеров
использования TAL-construction внутри value=“”… Эито возможно? Если да то как?

2) В zope-форме as DTML method I used ccs which is is inside DTML Document. All working is fine.
Tried to use Page Template and could not make the same. Called standart header:

<span html_quote tal:replace=“standard_html_header_pt” ></span>

In which was css was called:

<span tal:replace=“css”></span>

И получаю ошибку в форме :
Error Type: KeyError
Error Value: ‘standard_html_header_pt’…
НО при этом страница действительно отображается с моими css-настройками:шапка, подвал, background, картинки?!?
Что неправильно?


С уважением,
Нилов Сергей.
albert
1) <input tal:attributes=“value string:<span name=&quot;${replace/form/s_login}&quot;></span>”>
2) standard_html_header_pt и css у тебя в шаблоне определены через tal:define? Если они просто лежат в папке, то обращаться к ним надо через here/standard_html_header_pt или context/standard_html_header_pt
PS В чужой монастырь со своим уставом не лезут. Забудь про standard_html_header_pt. Юзай макросы. Смотри примеры в CMF.
NilovSerge
albert, спасибо с Value получилось!
Скачал CMF-2.1.0-alpha2 - она на сайте последняя Скинул в каталог продуктов и ничего…
В “Control_Panel/Products” никакого CMF не добавилось… В логе ошибок нет…
В инструкции по установке читаю: “Requirements - Zope v. 2.10.0 or later…
3. Restart Zope; verify that the CMF products loaded
property, by examining them in Control_Panel/Product. ”
У меня Zope v. 2.10.1 ? Насколько CMF строг в версии Zope? Из-за чего может быть проблема?


А как сделать ссылку с картинкой на текущий елемент?
Пробую так:
<td >&nbsp; <a href=“EmployeeEdit?pin_code=<span tal:replace=&quot;repeat/item/pin_code&quot;>0</span>”><img src=“images/edit”></a> </td>

В результате текст в href=" не обрабатывется и я получаю простой текст… А как правильно?
albert
NilovSerge
Скинул в каталог продуктов и ничего…
А ты точно уверен, что скинул в папку с продуктами zope-instance/Products? Изначально она должна быть пуста.

ИМХО ты слегка путаешь ZPT с DTML. Парсер никогда не будет разбирать выражения, содержащиеся в атрибутах, комментариях и скриптах!

<td>&nbsp; <a tal:attributes=“href string:EmployeeEdit?pin_code=${repeat/item/pin_code}”><img src=“images/edit”></a> </td>

Лучше еще-раз прочитай доки:
http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/ZPT.stx
http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/AdvZPT.stx
и в частности
http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/AdvZPT.stx#3-68
NilovSerge
да разобрался я и с CMF и с ZPT…
albert, а еще пару вопросов:
1) В Sql-методах используя DTML я писал :
Insert into employees( pin_code… )
Values( <dtml-sqlvar pin_code type=string>, … )

То есть указывал dtml-синтакс. А если я пользую ZPT и хочу отказаться от dtml-синтакса? Какой синтаксис мне исользовать?

2) Ткни пожалуйста где в примерах в CMF используются макросы для определения css… так слету не разберешься…
albert
NilovSerge
То есть указывал dtml-синтакс. А если я пользую ZPT и хочу отказаться от dtml-синтакса? Какой синтаксис мне исользовать?
Не стоит полностью отказываться от DTML. ZPT подходит только для генерации xml подобных страниц, а DTML для всего остального. SQL синтаксис не основан на xml, к тому-же у DTML есть очень удобные конструкции для постоения SQL запросов, к примеру:
SELECT DISTINCT
  d.*,
  s.title as section_title
FROM 
  dev d,
  dev_s s
<dtml-sqlgroup where>
  s.id = d.section
<dtml-and>
  <dtml-if "_.int(section) != -1">
    d.section = <dtml-sqlvar section type=int>
  </dtml-if>
<dtml-and>
  <dtml-if "_.int(year) != -1">
    d.year = <dtml-sqlvar year type=int>
  </dtml-if>
</dtml-sqlgroup>

NilovSerge
2) Ткни пожалуйста где в примерах в CMF используются макросы для определения css… так слету не разберешься…
вырезка из /portal_skins/zpt_generic/main_template
<metal:macro metal:define-macro="master"> <!--определение макроса всей страницы-->
<!--..........-->
<!--  определение стилей, которые используются на всех страницах -->
 <link rel="stylesheet" type="text/css" href="zpt_stylesheet.css" tal:attributes="href here/zpt_stylesheet.css/absolute_url" />
 <link rel="stylesheet" type="text/css" href="CalendarStyle.css" tal:condition="here/CalendarStyle.css|nothing" tal:attributes="href here/CalendarStyle.css/absolute_url" />
<!-- определение макроса стилей отдельных страниц -->
 <metal:slot define-slot="style_slot" />

и примерная страница:
<!--подключение главного макроса шаблона-->
<html metal:use-macro="context/main_template/macros/master">
<body>
<metal:slot metal:fill-slot="style_slot">
<!-- определение стилей данной страницы -->
</metal:slot>
<metal:slot metal:fill-slot="main">
<!--Тело страницы-->
</metal:slot>
</body>
</html>
Будут вопросы, задавай
NilovSerge
спасибо, albert, вроде разобрался
А вот такой еще вопрос в каталоге CFM/docs/ есть куча текстовой доки например Tour.stx и такого вида содержанием:

This kind of simple workflow is built right into the CMF. Let's
look at the last news item Fred created:

<screenshot>

Notice the *Submit* link on the left. When Fred clicks this link,
Zope will submit this news item for review. When Janet logs in,
she gets a special message that tells her if she has any pending
items:

<screenshot>

Я так понимаю что должна быть и нормальная дока по CFM и с картинками?
По ссылкам в http://www.zope.org/Products/CMF/docs пошлялся - ничего путного не нашел - куча мелких статей…
albert
NilovSerge, я не читал эти доки, т.к. в них очень мало полезной информации. На мой взгляд самый удобный способ - метод “научного тыка”. Если мне что-то не понятно, то я смотрю исходники, которые делают аналогичные действия, или лазию по исходникам необходимого модуля. Там все функции популярно описаны и легко понять какой функцией надо пользоваться.
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