Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Webbroker. PageProducer und transparente HTML-Tags

  Alt 28. Jun 2016, 18:25
Hi Jumpy
Zitat:
Muss ein Tag nicht so aussehen: <#NORMALSPURBAHNEN> statt so: <#NORMALSPURBAHNEN<!.
Ich habe eigentlich beides. Und zwar im Kopf der HTML-Seite:
Delphi-Quellcode:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
   <title>Delbor - Home</title>
    <meta http-equiv="Content-Type" content="text/html">
  <style>
    <#DELBORHOMECSS>
    <#MENUE>

  </style>
  </head>
sowie an der hier gezeigten Position:
Delphi-Quellcode:
    <!-- *************************************************************************** <img alt="DelborPunktCH" src="Delbor_9_5.jpg" />-->
              <#NORMALSPURBAHNEN<!
   <!-- <li><a href="#">Normalspurbahnen</a>
                <ul class="Flyoutmenue">
                    <li><a href="#">Gotthardgiganten</a></li>
                    <li><a href="#">Französischer Dampf am Gotthard</a></li>
                    <li><a href="html/AufromantischerSpur1.html">AufromantischerSpur1</a></li>
                </ul>
              </li> />-->
    <!-- *************************************************************************** -->
Die Hintergründe sind zum einen, dass Embarcadero die Schreibweise der Tagnamen so wie im 2. Codeschnipsel angibt, und zum andern, dass mir Delpi im ersten gezeigten Schnipsel die Tagnamen als unbekannt unterstrich, wenn ich sie nach der Empfehlung wie im 2. Schnipsel formulierte und umgekehrt wurde im 2. Schnipsel <#NORMALSPURBAHNEN> als unbekannt angemeckert.
Der Unterschied ist offensichtlich der Seitenabschnitt: ersteres Schnipsel befindet sich zwischen <head><style> und </style></head>
und 2. im Bodybbereich, also nicht zwischen weiteren Abschnittstags

Dem Pageproducer.HTMLfile habe ich eine Webseite als Vorlage spendiert:
Delphi-Quellcode:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
   <title>Delbor - Home</title>
    <meta http-equiv="Content-Type" content="text/html">
  <style>
    <#DELBORHOMECSS>
    <#MENUE>

  </style>
  </head>
  <body>
  <div id="Titellogo">&nbsp;,&nbsp;
    <h2>Willkommen auf den Seiten von
  </h2>
  </div> <!--< -->
  <div id="header">&nbsp;<#Image/></div>

    <div id="Leftcol">
      <!--<div id="mainnavigation"> </div> <img alt="DelborPunktCH" src="Delbor_9_5.jpg" /> <>-->
        <ul id="mainmenue">
          <li><a href="#">EisenBahnen</a>
            <ul class="submenue">
    <!-- *************************************************************************** <img alt="DelborPunktCH" src="Delbor_9_5.jpg" />-->
              <#NORMALSPURBAHNEN<!
   <!-- <li><a href="#">Normalspurbahnen</a>
                <ul class="Flyoutmenue">
                    <li><a href="#">Gotthardgiganten</a></li>
                    <li><a href="#">Französischer Dampf am Gotthard</a></li>
                    <li><a href="html/AufromantischerSpur1.html">AufromantischerSpur1</a></li>
                </ul>
              </li> />-->
    <!-- *************************************************************************** -->
              <li><a href="#">Schmalspurbahnen</a>
                <ul class="Flyoutmenue">
                    <li><a href="#">100 Jahre Säntisbahn</a></li>
                    <li><a href="#">Das Juwel vom Waldenburgertal</a></li>
                </ul>
              </li>
    <!-- *************************************************************************** -->
              <li><a href="#">Berg- und Zahnradbahnen</a>
                <ul class="Flyoutmenue">
                    <li><a href="#">Die Rigibahn</a></li>
                    <li><a href="#">Rosa und die RHB</a></li>
                </ul>
              </li>
    <!-- *************************************************************************** -->
            </ul>
           </li> <!-- Submenue -UL -->
          <li><a href="#">Programmieren mit Delphi</a></li>
        </ul> <!-- *Mainmenue - UL* -->
                  <<!-- *Mainnavigation-div* -->
    </div>
                   <!-- H:/Developer/Delbor-Content-Manager V0.001
                     H:/Developer/Delbor-Content-Manager V0.001
                       H:/Developer/Delbor-Content-Manager V0.001
                       H:/Developer/Delbor-Content-Manager V0.001
                  -->

    <div id="Rightcol">
    </div>

  </body>
</html>
Meine OnHTMLLag-Routine:
Delphi-Quellcode:
procedure TWebModule1.PageProducerHomeHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
  if TagString = 'DELBORHOMECSSthen
    ReplaceText := PageProducerHomeCSS.Content;
  if Tagstring = 'MENUEthen
    ReplaceText := PageProducerMenueCSS.Content;
  if TagString = 'NORMALSPURBAHNENthen
    ReplaceText := PageProducerNormalspurbahnen.Content;

end;
Ausserdem:
Delphi-Quellcode:
procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  var List: TStringList; Refererstr, SourceStr: string; i,x: Integer;
begin
if Request.PathInfo = '/html/AufromantischerSpur1.htmlthen
begin
  WebModule1WebActRomanticeRoadAction(Self,Request,Response,Handled);
end;

end;

procedure TWebModule1.WebModule1WebActHomeAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  var PagePath: WideString;
begin
  Response.Content := PageProducerHome.Content;
  Response.Content := Response.Content + PageProducerLogo.Content;
  Response.Content := Response.Content + 'Request.PathInfo := ' + Request.PathInfo;
  Response.SendResponse;
end;

procedure TWebModule1.WebModule1WebActRomanticeRoadAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
  if Request.PathInfo = '/html/AufromantischerSpur1.htmlthen
  begin
  Response.Content := PageProducerRomanticRR.Content;
  Response.Content := Response.Content + PageProducerRomanticCSS.Content;
  Handled := True;
  end;
end;
Der Code stammt grössteteils aus meinen länger zurückliegenden ersten Testversuchen mit Webbroker und ist so natürlich alles andere als vollständig.


Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (28. Jun 2016 um 18:28 Uhr)
  Mit Zitat antworten Zitat