Author Topic: tmpl_if mit einem and versehen?  (Read 911 times)

0 Members and 1 Guest are viewing this topic.

David

  • Guest
tmpl_if mit einem and versehen?
on: Mon, 08. May 2006 - 14:10:41
Hallo,

habe zurzeit ne Abfrage die so aussieht:

<tmpl_if name=input op=<> value= op=and name=mail op=<> value=>

aber das funktioniert nicht. Wie also kann man das richtig machen?

jermyn

  • Guest
tmpl_if mit einem and versehen?
Reply #1 on: Mon, 08. May 2006 - 14:16:11
Hallo David,

soweit mir bekannt ist, kannst du f�r eine Bedingung nur einen Operator verwenden. Ich glaube, da bin ich damals auch mal dr�ber gestoplert.

Also:

<tmpl_if name=input op=<> value=>

geht und auch das geht:

<tmpl_if name=mail op=<> value=>

Verkettungen durch and sind nicht m�glich. Um es jedoch ordentlich zu machen, solltest du mal beschreiben, was du eigentlich machen willst

Gru� Jermyn

David

  • Guest
tmpl_if mit einem and versehen?
Reply #2 on: Mon, 08. May 2006 - 14:20:41
Ich will Aufgabe zwei machen

http://doku.clausvb.de/vlib_kap03.htm

Kann man die Klasse nicht irgendwie �ndern, das auch mehrere Operatoren funktionieren?
Last Edit: Mon, 08. May 2006 - 15:01:58 by ClausVB

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
tmpl_if mit einem and versehen?
Reply #3 on: Mon, 08. May 2006 - 14:50:27
Quote
Kann man die Klasse nicht irgendwie �ndern, das auch mehrere Operatoren funktionieren?
Nein, dass ist nicht Sinn der Sache.

Komplizierte IF-Strukturen d�rfen nach der Philosophie gar nicht im Template gemacht werden. Diese m�ssen immer im PHP-Code gemacht werden.

Siehe das Beispiel f�r Sister_Sourcecode, wo man sch�n sehen kann, wie man die IF-Strukturen in PHP bildet und dann ans Template �bergibt.

Das Gleiche gilt f�r DB-Abfragen:
Code: [Select]
SELECT author_name, IFauthor_name = ClausVB, 1, 0 AS boolean
FROM vlib_posts
Alles was man nicht mit SQL hinbekommt, macht man in PHP, aber auf keinem Fall im Template.

Template Engines sind dazu da, um PHP (Logik) von HTML (Design) zu trennen und nicht die Logik in das Template zu integrieren.

Sonst kann man direkt Konstrukte wie:

main.php

Code: [Select]
?php
 � � � // Logik

 � � � title_text = TITLE Template Engine mal anders ...;
 � � � body_text = BODY Hallo Welt;

 � � � test_array = array
 � � � � � � � � � � � eins = 1,
 � � � � � � � � � � � zwei = 2,
 � � � � � � � � � � � drei = 3,
 � � � � � � � � � � � siebzehn = 17
 � � � � � � � ;

 � � � require_once templates_nur_mit_php_head.php;
 � � � require_once templates_nur_mit_php_body.php;
?

Template 1: templates_nur_mit_php_head.php

[!--html--][div class='htmltop']HTML[/div][div class='htmlmain'][!--html1--]<DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
 <title><?=title_text?></title>
 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>[!--html2--][/div][!--html3--]

Template 2: templates_nur_mit_php_body.php

[!--html--][div class='htmltop']HTML[/div][div class='htmlmain'][!--html1--]<body>

<h1><?=body_text?></h1>

<? foreachtest_array as key => value ?>
<p>Schl�ssel <?=key?> -- Wert <?=value?></p>
<? endforeach; ?>

</body>
</html>[!--html2--][/div][!--html3--]
verwenden. Damit hat man dann n�mlich die gesamte PHP-Macht.

Gru�
Claus
Last Edit: Mon, 08. May 2006 - 14:57:02 by ClausVB

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
tmpl_if mit einem and versehen?
Reply #4 on: Mon, 08. May 2006 - 15:05:57
Quote
Ich will Aufgabe zwei machen
Gut. Stelle Dir zuerst folgende Fragen:
1. Wie w�rde ich mehrere POST-Parameter in PHP abfragen?
2. Wie baue ich eine IF-Abfrage, die als Resultat nur 1 oder 0 oder aber TRUE oder FALSE ausliefert?
3. Wie bekomme ich diese Ausgabe ans Template �bergeben?
4. Welchen Markup Tag (Tags von vlibTemplate) brauche ich, um im Template auf die �bergabe zu reagieren?

Gru�
Claus
Last Edit: Mon, 08. May 2006 - 15:07:41 by ClausVB