So ermöglichen Sie die Pflege von Werten und übergeben diese an ein Formular

06. Mai 2010

Dieser Artikel beschreibt am Beispiel einer Kategoriendatei, wie Sie einen Wert innerhalb der Pflege auswählbar machen und über einen Link an ein Formular übergeben.

Über Standardmittel können Sie es recht einfach umsetzen, einem Redakteur die Pflege von Werten zu ermöglichen, die dann weiterverarbeitet werden können. Das folgende Beispiel setzt auf der Kategorienauswahl auf und ermöglicht es so einem Pflegebenutzer, einer Seite innerhalb eines Elementes/Objektes eine Kategorie zuzuweisen, welche dann einem Formular übergeben wird.
Das Beispiel verwendet hierzu einfach das Newsobjekt (Seite vom Typ Aktuelles) und die Seite-empfehlen-Funktion.

Beispiel: Auszug aus einer News-Objektdatei (z.B. /deGlobal/wGlobal/layout/templates/objects/news.wObject.php)

...
<xsl:template match="wd:object[@type = 'news']">
  <xsl:choose>
    <!-- Darstellung im Editor -->
    <xsl:when test="$wIsInEditor">

      <div class="_wEditorElementConfiguration">  
        ...

        <div class="wEditorExtensionLabel"><xsl:value-of select="php:functionString('wTexts::getTextUser', 'editor_page_categories')"/></div>
        <div class="wEditorExtensionValue"><!--web:categories:start pathCategories="/deGlobal/wGlobal/content/categories/standard.wCategories.php"--><xsl:copy-of select="/wd:document/wd:extension/wd:meta/wd:categories"/><!--web:categories:stop--><wsl:buttonEdit path="/deGlobal/wGlobal/content/categories/standard.wCategories.php" icon="edit" caption="Kategorien bearbeiten"/></div>
        <br style="clear:all"/>
      </div>
      ...    
    </xsl:when>
    <!-- Darstellung in der Ausgabe (Webseite) -->
    <xsl:otherwise>
      ...
      <div class="elementText">
        <xsl:variable name="categoryID"><xsl:value-of select="//wd:extension/wd:meta/wd:categories/wd:category/text()"/></xsl:variable>
        <xsl:variable name="categoryText"><xsl:value-of select="document(concat($wDocumentRoot, '/deGlobal/wGlobal/content/categories/standard.wCategories.php'))//category[@id = $categoryID]/@text" /></xsl:variable>
        <p class="link"><a href="/de/seite-empfehlen/index.php?categoryID={$categoryID}&amp;categoryText={$categoryText}" ><xsl:value-of select="$categoryText" /></a></p>
      </div>
      ...
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
...

Ein Redakteur kann nun innerhalb z.B. einer Newsmeldung einen Kategoriewert auswählen. Der ausgewählte Wert wird über das Template in der Ausgabe einem Link übergeben, was in oben genanntem Beispiel die "Seite empfehlen" Funktion ist.
Nachfolgend die drei Bereiche, in denen Sie entsprechende Anpassungen vornehmen müssen.

  • E-Mail an den definierten Empfänger
  • Vor der Erstellung auszuführendes Skript
  • Server-Variable setzen (categoryID) und Kategorientext als Input-Feld übergeben

Beispiel: E-Mail an den definierten Empfänger

From: [!--senderEmail--]
To: [!--receiverEmail--]
Content-Type: text/plain; charset=UTF-8
Subject: Seite empfehlen: [!--urlToRecommend--]

Hallo [!--receiverName--],

[!--senderName--] hat Ihnen die Seite [!--urlToRecommend--] empfohlen.

Mitteilung:
[!--message--]

Kategorie:
[!--categoryText--] ([!--categoryID--])

Viele Grüße

Ihre Webseite

Beispiel: Vor der Erstellung auszuführendes Skript

$this->elements['urlToRecommend']->value = wEnv::getUrlHost().wRequest::getParameterSecure('page'); 
$this->elements['urlToRecommendDisplay']->value = wRequest::getParameterSecure('page');

$this->elements['categoryID']->value = wRequest::getParameterSecure('categoryID'); 
$this->elements['categoryText']->value = wRequest::getParameterSecure('categoryText');
Seite empfehlen mit Übergabe von categoryID und categoryText

Ähnliche Seiten

Entwicklerbereich Weblication® CMS - © Scholl Communications AG