Skip to main content

Unser kleines Handbuch für SobiPro in Joomla!

Als Beispiel für die Anleitung zu SobiPro dient hier ein Produktkatalog. Die wesentlichen Schritte sind aber auch für andere Anwendungen (Gästebuch, Immobilienkatalog o.ä.) die gleichen.

Um zum Produktkatalog zu gelangen klicken Sie mit der Maus auf den Menüpunkt "Komponenten" (1) und klicken dann auf "SobiPro" (2).

 Wo finde ich SobiPro?

In dieser Ansicht können Sie eine Ihrer Sektionen anwählen (1), oder über den Button "Aktionen" eine neue Sektion erstellen (2):

 Das Sobipro-Kontrollzentrum

Die Verwaltung von Einträgen

Sie haben auf dieser Seite, nach einem Klick auf "Alle Einträge" (2.), folgende Möglichkeiten um die Inhalte der gewählten Sektion zu "Verwalten"

  • Mit einem Klick auf die gelben Ordner Icons (1) kommen sie in die entsprechende Kategorie und alle Einträge und Unterkategorien dieser Kategorie aufgelistet.
  • Mit einem Klick auf "Alle Einträge" (2) bekommen Sie alle Produkte aller Kategorien aufgelistet.
  • Mit einem Klick auf "Aktionen" (3) öffnet sich das Verwaltungsmenü für die Einträge innerhalb der Kategorie.
  • Mit einem Klick auf "Sektionen" (4) öffnet sich das Auswahlmenü für alle Sektionen und erlaubt einen Sektionswechsel.
  • Mit einem Klick auf "Menü" (5) öffnet sich das Verwaltungsmenü für SobiPro auf das hier nicht näher eingegangen wird.

Wenn Sie in eine Kategorie gesprungen sind oder sich alle Einträge anzeigen lassen, so sehen Sie folgende Ansicht:

 Eintragsübersicht bei SobiPro

In diese Ansicht können Sie Einträge und eventuelle Unterkategorien (werden bei "Alle Einträge" ausgeblendet) bearbeiten.

  • Um Einträge/Kategorien zu deaktivieren klicken Sie einfach auf das grüne Häkchen in der Spalte Status (6)Deaktivierte Einträge/Kategorien bleiben erhalten werden aber für den Besucher nicht mehr angezeigt
  • Zum Löschen müssen Sie erst das Kontrollkästchen des/der entsprechenden Eintrages/Kategorie (7) markieren und dann den Button "Aktionen" (3) betätigen und dort "Löschen" anwählen. Achtung gelöschte Einträge/Kategorien können nicht wiederhergestellt werden!!!
  • Mit einem Klick auf den Namen des Produktes/ der Kategorie können Sie das Produkt/ die Kategorie im Eintragsformular bearbeiten

Einträge hinzufügen

Das Eintragsformular hilft Ihnen dabei neue Einträge (z.B. Produkte) aufzunehmen. Zum Eintragsformular gelangen Sie, wenn Sie auf den Button "Eintrag" klicken und "Hinzufügen" wählen.

 Das Eintragsformular für SobiPro

Das Eintragsformular teilt sich in vier Bereiche: Eintragsdaten (1), Allgemeine Angaben (2.1), Metadaten (2.2) und Veröffentlichung (2.3)

  1. Eintragsdaten
    1. Das Feld "Kategorie" zeigt die Gewählte Kategorie, in der der Beitrag eingetragen wird, in einer Dropdown-Liste der Kategorien und bietet die Möglichkeit die eingetragene Kategorie zu ändern
    2. Das Feld "Name" muss ausgefüllt werden mit der Bezeichnung des Produktes
    3. Der Rest der auszufüllenden Felder variiert je nach Einstellung der einzelnen Sektionen
  2. Die oberen Reiter "Allgemeine Angaben", "Metadaten" und "Veröffentlichung"
    1. Der Reiter "Allgemeine Angaben" dient dem Anlegen eines Alias (für Sie nicht weiter wichtig)
    2. Der Reiter "Metadaten" dient der Suchmaschinenoptimierung (für Sie nicht weiter wichtig)
    3. Der Reiter "Veröffentlichung" zeigt einige chronologische Fakten und eine Möglichkeit zeitlich begrenzte Angebote Termingerecht auslaufen zu lassen über "Gültig bis"

 

Kategorien hinzufügen

Das Eintragsformular hilft Ihnen dabei neue Kategorien (z.B. Produktgruppen) anzulegen. Zum Eintragsformular gelangen Sie, wenn Sie auf den Button "Kategorie" klicken und "Hinzufügen" wählen.

 Kategorie anlegen bei SobiPro

Das Eintragsformular teilt sich in drei Bereiche: Allgemeine Angaben (1), Metadaten (2) und Veröffentlichung (3)

  1. Allgemeine Angaben
    1. Das Feld "Übergeordnete Kategorie" bietet die Möglichkeit die angelegte Kategorie innerhalb der Sektion zu verschieben
    2. Das Feld "Name" muss ausgefüllt werden mit der Bezeichnung des Produktes
    3. Das Feld Alias dient zum Anlegen des Alias
    4. Ab "Kategorieangaben" können Sie die entsprechende Kategorie noch mit einem Icon und einer Beschreibung versehen
  2. Die oberen Reiter "Metadaten" und "Veröffentlichung"
    1. Der Reiter "Metadaten" dient der Suchmaschinenoptimierung (für Sie nicht weiter wichtig)
    2. Der Reiter "Veröffentlichung" zeigt einige chronologische Fakten und eine Möglichkeit zeitlich begrenzte Angebote Termingerecht auslaufen zu lassen über "Gültig bis"

Wichtiger Hinweis zu SobiPro

Sollte man ein mehrsprachiges Verzeichnis auf Basis von Sobi Pro betreiben so sollte man beachten, dass alle Kategorien und Einträge immer in der beim Bearbeiten aktiven Sprache gespeichert werden.  Dieser Umstand hat besondere Auswirkungen auf die Kategorien welche über die Administrationsoberfläche erstellt werden, denn werden diese mit der aktiven Sprache Deutsch angelegt, so werden die Kategorien im englischen Frontend nicht zu sehen sein.


Für das Veröffentlichen von Einträgen in SobiPro 1.1.x ist normalerweise ein Zugang zur Administrationsoberfläche notwendig, es können aber auch andere Benutzer das Recht bekommen Einträge freizugeben. Genau diesen Umstand kann man sich zu nutze machen um Einträge auch automatisch zu veröffentlichen.

Einstellungen in SobiPro 1.1.x

Gehen Sie in die Administrationsoberfläche ihrer Webseite und öffnen sie das Kontrollzentrum von SobiPro 1.1.x. Klicken Sie dann einfach auf den Button "Berechtigungen (ACL)" und öffnen dann die Berechtigungen der Sektion in der die Einträge automatisch veröffentlicht werden sollen.

Im Feld "Frontend Berechtigungen" muss zusätzlich der Punkt "Eigene veröffentlichen" markiert werden.


In SobiPro ist die maximale Anzahl der Einträge je Kategorieseite aus maximal 15 begrenzt, aber es gibt eine recht simple Lösung für dieses Problem.

Sie müssen "nur" die Datei general.xml auf dem Server ein wenig bearbeiten. Die Dtei finden Sie im Ordner:

administrator/components/com_sobipro/config/

In der Datei suchen Sie nach

<field type="select" label="SECN.CFG.NUMBER_ENTRIES_PAGE" name="spcfg[list.entries_limit]" selected="list.entries_limit" class="input-mini">

In Zeile 155.

Und ergänzen nach

<option value="15" />

In Zeile 171 folgende Zeilen:                                                                                          <option value="20" />

<option value="25" />

<option value="30" />

<option value="35" />

<option value="40" />

<option value="45" />

<option value="50" />

Wichtig ist, dass </values> unbedingt unter der letzten Option stehen bleiben muss. 

Die Änderung bewirkt letzten Endes, dass in der Auswahl Einträge / Seite in den Sektionsoptionen noch die Wahlmöglichkeiten 20, 25, 30, 35, 40, 45 und 50 hinzukommen.


Achtung!!! Bitte vorher immer eine Kopie der Originaldatei erstellen um Fehler zu vermeiden.

Hinweis!!! Bei einem Update von SobiPro wird diese Datei meist überschrieben, so dass mn diese Prozedur wieder durchführen muss.

 


Wenn man im verwendeten Template für eine Sektion Die Datei [template]/entry/edit.xsl anpasst kann einen Eintrag in eine bestimmte Kategorie erzwingen.

Vorgehensweise für SobiPro 1.0

Öffnen Sie im Templatemanger die Datei entry/edit.xsl zum bearbeiten und suchen die Zeilen 26 bis 46. In den besagten Zeilen wird folgender Inhalt entfernt und dann

<div class="spFormRowOdd" >  
        <div class="spFormRowLeft">
          <label for="entry.parent">
            <xsl:value-of select="php:function( 'SobiPro::Txt' , 'TP.CAT_BOX' )" />          
          </label>
        </div>          
        <div class="spFormRowRight">
          <xsl:copy-of select="entry/category_chooser/path/*"/>
          <div style="clear:both;"/>
          <div style="float:left; display:none;">
            <xsl:copy-of select="entry/category_chooser/selected/*"/>
          </div>
          <div style="float:left;">
            <button type="button" name="parent_path" id="entry_parent_path" class="osx inputbox">
              <xsl:value-of select="php:function( 'SobiPro::Txt' , 'EN.SELECT_CAT_PATH' )" />
            </button>
          </div>
          <div style="clear:both;"/>
        </div>
      </div>        
      <div style="clear:both;"/>

ersetzt durch:

 <input type="hidden" name="entry.parent" value="62" id="entry.parent"  />

Die "62" steht hierbei für die ID-Nummer der Standardkategorie.

Vorgehensweise in SobiPro 1.1.x

Öffnen Sie wieder die Datei entry/edit.xsl im Templatemanger der entsprechenden Sektion. Leider muss hier etwas mehr gemacht werden als in der Version 1.0 von SobiPro.

Im ersten Schritt entfernen Sie die Zeilen 40 bis 101 mit folgendem Code:

<xsl:for-each select="entry/fields/*">
<xsl:if test="( name() != 'save_button' ) and ( name() != 'cancel_button' )">
<xsl:variable name="fieldId" select="name(.)" />
<xsl:if test="string-length( fee )">
<div class="control-group">
<div class="control-label">
<input name="{$fieldId}Payment" id="{$fieldId}-payment" value="" type="checkbox" class="payment-box" />
</div>
<div class="alert spAlert controls">
<xsl:value-of select="fee_msg" /><xsl:text> </xsl:text>
<xsl:value-of select="php:function( 'SobiPro::Txt', 'TP.PAYMENT_ADD' )" />
</div>
</div>
</xsl:if>
<div class="control-group" id="{$fieldId}-container">
<label class="control-label" for="{$fieldId}-input-container">
<xsl:choose>
<xsl:when test="string-length( description )">
<a href="#" rel="popover" data-placement="top" data-content="{description}" data-original-title="{label}">
<xsl:value-of select="label" />
</a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="label" />
</xsl:otherwise>
</xsl:choose>
</label>
<div class="controls" id="{$fieldId}-input-container">
<div>
<xsl:if test="string-length( @suffix )">
<xsl:attribute name="class">input-append</xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when test="data/@escaped">
<xsl:value-of select="data" disable-output-escaping="yes" />
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="data/*" />
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="string-length( @suffix )">
<span class="add-on">
<xsl:value-of select="@suffix" />
</span>
</xsl:when>
<xsl:otherwise>
<span id="{$fieldId}-message" class="hide message-lightbulb">
<i class="icon-lightbulb" />
</span>
</xsl:otherwise>
</xsl:choose>
</div>
<xsl:if test="string-length( @suffix )">
<span id="{$fieldId}-message" class="hide message-lightbulb">
<i class="icon-lightbulb" />
</span>
</xsl:if>
</div>
</div>
</xsl:if>
</xsl:for-each>

Nun müssen Sie das Formular wieder neu aufbauen, dazu muss folgender Aufbau berücksichtigt werden. Für jedes Feld welches im Eintragsformular berücksichtigt werden soll muss folgender Code verwendet und angepasst werden:

<div id="field_field-nameContainer">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="position() mod 2">spFormRowEven</xsl:when>
<xsl:otherwise>spFormRowOdd</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<div class="spFormRowLeft">
<strong>
<xsl:value-of select="entry/fields/field_FELDNAME/label" />
</strong>
<xsl:text>: </xsl:text>
</div>
<div class="spFormRowRight">
<xsl:copy-of select="entry/fields/field_FELDNAME/data/*" disable-output-escaping="yes" />
</div>
</div>

Eingefügt wird der Code an genau der Stelle an der vorher der Ursprüngliche Code entfernt wurde (Zeile 40 bis 101). 

Nach dem nun für alle Felder der entsprechende Code eingefügt wurde muss unter den Letzten Feldcontainer noch folgende Zeile eingefügt werden:

<input type="hidden" name="field_category" value="56" id="field_category"  />

Die Zahl 56 steht dabei für ID-Nummer des Kategoriefeldes in der Felderverwaltung Ihrer Sobipro Sektion.


In Der Version SobiPro 1.0 und 1.1 können die fehlenden Editor Erweiterungen (Weiterlesen, Seitenumbruch, Bild und Beiträge) welche sich immer unter dem Editor befinden leicht aktiviert werden.

Zur Aktivierung muss die config.ini angepasst werden. Die Datei findet ihr im Verzeichnis:

components\com_sobipro\etc\adm\

In der Datei muss "nur" in der Zeile 26: 

editor_buttons = false 

das "false" in "true" geändert werden und schon sind die xtd-Buttons in SobiPro verfügbar.

Achtung!!! Am besten man legt die Datei "config_override.ini" im Verzeichnis "adm" an und kopiert den gesamten (überarbeiteten) Inhalt der config.ini in diese Datei. Damit wird bei einem Update von SobiPro nicht die Konfiguration überschrieben.

; @package: SobiPro Component for Joomla!
; @author; Name: Sigrid Suski & Radek Suski, Sigsiu.NET GmbH; Email: sobi[at]sigsiu.net; Url: https://www.Sigsiu.NET
; @copyright Copyright (C) 2006 - 2016 Sigsiu.NET GmbH (https://www.sigsiu.net). All rights reserved.; @license GNU/GPL Version 3; This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation, and under the additional terms according section 7 of GPL v3.; See http://www.gnu.org/licenses/gpl.html and https://www.sigsiu.net/licenses.
; This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
[general]top_menu = truedebug = false
[entry]primary_path_always = falsename_field = 0maxCats = 5publish_limit = 0field_description = falseapprove_all_langs = trueversioning = trueversioningAdminBehaviour = true
[icon-fonts]font-awesome-3="//maxcdn.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css"font-awesome-4="//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css"font-google-materials="//fonts.googleapis.com/icon?family=Material+Icons"
[template]bs3_css="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"bs3_js="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
[lang]engb_preload = trueignore_default = false
[section]force_category_id = false;
[plugins]content_disable = "json://['entry.payment', 'entry.submit']"
[editing]def_cout_time = 3600
[html]tooltip_class = "editlinktip hasTip"editor = "cms.html.editor"pre_to_entities = true
[date];publishing_format = "Y-m-d H:i:s"publishing_format = "j F Y H:i:s"
log_format = "D M j G:i:s T Y"db_format = "Y-m-d H:i:s"
[mail_protection]show = 80
[jquery]ui_theme = "smoothness.smoothness"
[cache]js_compress_exceptions = "jquery.js,mootools.js"include_files = truexml_enabled = trueunique_search_url = false

[images]category_icons = "[cfg:images_folder]/images/"category_icons_live = "[cfg:img_folder_live]/images/"folder_ico = "[cfg:img_folder_live]/adm/folder-category.png"
[image_field]pass_exif = falseexif_id_data = "json://['Make', 'Model', 'Orientation', 'XResolution', 'YResolution', 'ResolutionUnit', 'Software', 'DateTime', 'YCbCrPositioning', 'Copyright', 'Exif_IFD_Pointer', 'CustomRendered', 'ExposureMode', 'WhiteBalance', 'DigitalZoomRatio', 'SceneCaptureType', 'YCbCrPositioning', 'CustomRendered', 'ExposureMode', 'WhiteBalance', 'DigitalZoomRatio', 'SceneCaptureType']"exif_data = "json://['ExposureTime', 'FNumber', 'ExposureProgram', 'ISOSpeedRatings', 'ExifVersion', 'DateTimeOriginal', 'DateTimeDigitized', 'CompressedBitsPerPixel', 'BrightnessValue', 'ExposureBiasValue', 'MaxApertureValue', 'MeteringMode', 'LightSource', 'Flash', 'FocalLength', 'FlashPixVersion', 'ColorSpace', 'ExifImageWidth', 'ExifImageLength', 'CustomRendered', 'ExposureMode', 'WhiteBalance', 'DigitalZoomRatio', 'SceneCaptureType', 'Contrast', 'Saturation', 'Sharpness', 'SubSecTimeOriginal', 'SubSecTimeDigitized']"exif_gps_data = "json://['Version','AltitudeRef','Altitude','Status','MeasureMode','DOP','SpeedRef','Speed','TrackRef','Track','ImgDirectionRef','ImgDirection','MapDatum','DateStamp','Differential']"fix_rotation = true
[browser]add_title = falsereverse_title = falsetitle_separator = ' - '
[search]; word_filter = "/\p{L}+|\d+|%/iu"suggest_start_with = truesuggest_min_chars = 1params_to_pass = "json://['rendercomponent','tmpl']"result_limit = 1000
[meta]desc_append = truekeys_append = true
[category]show_intro = trueshow_icon = trueparse_desc = falseshow_desc = false
[list]cat_desc = falsecat_meta = falsesubcats = trueentry_meta = falseentry_cats = truecategories_ordering = "name.desc"categories_in_line = 2entries_in_line = 1entries_limit = 8num_subcats = 6field_description = false
[alphamenu]letters = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0-9"verify = falseshow = truefield_types = "json://['inbox','select','chbxgroup','multiselect']"
[redirects]section_enabled = falsesection_url = "index.php"section_msgtype = "info"section_msg = "UNAUTHORIZED_ACCESS"section_search_enabled = falsesection_search_url = "index.php"section_search_msgtype = "info"section_search_msg = "UNAUTHORIZED_ACCESS"category_enabled = falsecategory_url = "index.php"category_msgtype = "info"category_msg = "UNAUTHORIZED_ACCESS"entry_access_enabled = falseentry_access_url = "index.php"entry_access_msgtype = "info"entry_access_msg = "UNAUTHORIZED_ACCESS"entry_add_enabled = falseentry_add_url = "index.php"entry_add_msgtype = "info"entry_add_msg = "UNAUTHORIZED_ACCESS"entry_save_enabled = falseentry_save_url = "index.php"entry_save_msgtype = "info"entry_save_msg = "EN.ENTRY_SAVED_NA"
[legacy]maxCats = 5sigsiutree = false
[image]ico_size="100:100"


SobiPro zeigt nach Serverumzug die Bilder nicht an

Sollten die Bilder nicht angezeigt werden so liegt das meistens am Cache der Webseite. Um den Cache zu erneuern muss man jede Sektion einzeln öffnen und dann Links auf Sektionskonfiguration -> Sektions-Crawler gehen und im nächsten Fenster oben bei Crawl auf den kleinen Pfeil und dann auf den Unterpunkt "Cache löschen & Crawlen" klicken.

Der Vorgang kann je nach Anzahl der Einträge in der Sektion eine gewisse Zeit in Anspruch nehmen und muss für jede Sektion einzeln wiederholt werden.


Die Grundeinstellungen

Grundlegend ist das SobiPro Entries Modul in seinen grundlegenden Einstellungen wie (Position, Name usw.) so wie jedes andere Modul auch.

  1. Sektion wählen -> Wählen Sie die Sektion aus welcher die Einträge angezeigt werden sollen
  2. Kategorie wählen -> Wählen Sie die Kategorie aus welcher die Einträge angezeigt werden sollen. Leider ist in der aktuellen Version nur die Anzeige aus einer Kategorie möglich.
  3. Aktuelle Ansicht/Kategorie 
  4. Maschine -> hier wir die Art der Einblendung eingestellt "Statisch" für direktes Laden und "Ajax" für das dynamische Einblenden der Inhalte.
  5. Template-Datei -> Hier wird das Template für die Darstellung ausgewählt. Das Template kann übrigens über den SobiPro eigenen Template Manager bearbeitet werden.
  6. Sortiere Einträge nach
  7. Richtung der Felderreihenfolge
  8. Begrenze Einträge durch Feldwert
  9. Anzahl Einträge
  10. CSS-Dateien -> In diesem Feld können CSS Dateien eingetragen werden welche zusätzlich geladen werden sollen. Das Einbinden muss dann auf folgende Art und Weise geschehen: 
    1. Der Pfad muss Relativ angegeben werden (components/com_sobipro/usr/templates/NAME-DES-TEMPLATES-AUS-DEM-TEMPLATEMANAGER/css/NAME-DER-CSS-DATEI.css)
    2. Wenn mehr als eine Datei nachgeladen werden soll, dann muss jeder Pfad in einer extra Zeile stehen.
    3. Im Dateinamen ist nur der Punkt vor der Endung "css" erlaubt.
  11. JavaScript-Dateien -> In diesem Feld können JavaScript Dateien eingetragen werden welche zusätzlich geladen werden sollen. Das Einbinden muss dann auf folgende Art und Weise geschehen: 
    1. Der Pfad muss Relativ angegeben werden (components/com_sobipro/usr/templates/NAME-DES-TEMPLATES-AUS-DEM-TEMPLATEMANAGER/js/NAME-DER-CSS-DATEI.js)
    2. Wenn mehr als eine Datei nachgeladen werden soll, dann muss jeder Pfad in einer extra Zeile stehen.
    3. Im Dateinamen ist nur der Punkt vor der Endung "js" erlaubt.
  12. Prepare Content
  13. Zeige nur XML-Ausgabe

Update auf Version 3.0

Mit der Version 3.0 ergibt sich eine wesentliche Änderung des Moduls, denn die Ablage der Templatedateien ist verschoben wurden.

Update durchführen

Vor der Aktualisierung des Moduls muss man die Templatedateien in die neue Ordnerstruktur kopieren. Dazu müssen alle Dateien aus dem Verzeichnis:

Components/com_sobipro/usr/templates/front/modules/entries

In die neue Struktur unter:

Components/com_sobipro/usr/templates/[Templatename]/modules/entries

Kopiert werden.

Anleitung Bug SobiPro Entries Modul Version 2.2

Im Entries Modul von SobiPro ist ein kleiner Bug welcher nach einer Aktualisierung von SobiPro 1.1.x auf 1.2 und der Aktualisierung des Entries Modules auf die Version 2.2 auftritt.

Es kommt je nach Einstellung des Servers zu einem Error 500 oder der Fehlermeldung:

Fatal error: Class 'SPFactory' not found in …/modules/mod_sobipro_entries/mod_sobipro_entries.php on line 25

Die einfache "Quick and Dirty" Lösung ist das auskommentieren der Zeile 25 in der Datei mod_sobipro_entries.php

/modules/mod_sobipro_entries/mod_sobipro_entries.php

SPFactory::registry()->save();

Ändern zu

//SPFactory::registry()->save();


Einbinden des Feldtypes Email in die Templates von SobiPro

Das Einbinden des Emailfeldes inklusive des Labels und einer entsprechenden Verlinkung der Emailadresse kann auf folgende Art und Weise geschehen:

Einbinden in die Detail View (entry/details.xsl)

<strong><xsl:value-of select="entry/fields/field_email/label" />
<xsl:text>: </xsl:text></strong>
<xsl:copy-of select="entry/fields/field_email/data/*"/>

Einbinden in die vCard (common/vcard.xsl)

<strong><xsl:value-of select="fields/field_email/label" />
<xsl:text>: </xsl:text></strong>
<xsl:copy-of select="fields/field_email/data/*"/>

Möchte man nun nicht die Emailadresse als solches angezeigt und verlinkt haben sondern das Wort "Email" muss das Einbinden auf folgende Weise geschehen:

Einbinden in Detail View (entry/details.xsl)

<a>
  <xsl:attribute name="href">
    <xsl:value-of select="entry/fields/field_email/data/a/@href" />
  </xsl:attribute>Email
</a>

Einbinden in die vCard (common/vcard.xsl)

<a>
  <xsl:attribute name="href">
    <xsl:value-of select="fields/field_email/data/a/@href" />
  </xsl:attribute>Email
</a>

Besonderheiten und Probleme die mit dem SobiPro Feldtyp E-Mail entstehen können

Trotz richtigem Einbinden wird die E-Mailadresse nicht angezeigt

In den aller meisten Fällen liegt das an folgenden Einstellungen:

  1. In den Feldeigenschaften in SobiPro ist das schützen der E-Mailadresse vor Spambots aktiviert aber
  2. Das Joomla Plugin "Inhalt – E-Mailverschleierung" ist deaktiviert.

Als Lösung muss man nun entweder das Joomla Plugin aktivieren oder in den Feldeigenschaften den Schutz vor Spambots deaktivieren.


SobiPro und der "meta Title"

Vorab gleich ein Tipp am einfachsten ist die Metatag Verwaltung mit einer Komponente wie Sh404sef oder ähnlichen, hier hat man dann auch die komplette Verwaltung aller Metatags aus allen Komponenten an einer Stelle.

In der Grundkonfiguration baut SobiPro die Titletags wie folgt auf:

Sektionshauptseite

  1. Der Name der Sektion
  2. Optional noch der Name der Website (Das wird in der Joomla Konfiguration festgelegt)

Kategorien

  1. Der Name der Sektion
  2. Der Name der Kategorie
  3. Optional noch der Name der Website (Das wird in der Joomla Konfiguration festgelegt)

Detailseiten

  1. Der Name der Sektion
  2. Der Name der Kategorie
  3. Der Name des Eintrages
  4. Optional noch der Name der Website (Das wird in der Joomla Konfiguration festgelegt)

Die einzelnen Teile werden durch Bindestriche getrennt aber der Titel wird auf diese Weise natürlich extrem lang. Die Grundeinstellungen können in der Datei components/com_sobipro/etc/config.ini können im Bereich "Browser" einzelnen Teile des Titel Tags deaktiviert werden.

Fallbeispiele

Hat man nun einen Menüpunkt für die Sektion in SobiPro gesetzt und in diesem Menüpunkt einen das Feld Seitentitel im Browser ausgefüllt ändert sicher der Aufbau des Seitentitels wie folgt:

Sektionshauptseite

  1. Eingestellter Titeltag im Menüpunkt
  2. Optional noch der Name der Website (Das wird in der Joomla Konfiguration festgelegt)

Kategorien

  1. Eingestellter Titeltag im Menüpunkt
  2. Der Name der Kategorie
  3. Optional noch der Name der Website (Das wird in der Joomla Konfiguration festgelegt)

Detailseiten

  1. Eingestellter Titeltag im Menüpunkt
  2. Der Name der Kategorie
  3. Der Name des Eintrages
  4. Optional noch der Name der Website (Das wird in der Joomla Konfiguration festgelegt)

Erstellt man nun einen Menüpunkt für eine Kategorie in der SobiPro Sektion entfällt im Titeltag der Seiten der Teil für die Sektion, das heißt es der Titeltag baut sich folgender maßen auf:

Kategorien

  1. Der Name der Kategorie oder Eingestellter Titeltag im Menüpunkt
  2. Optional noch der Name der Website (Das wird in der Joomla Konfiguration festgelegt)

Detailseiten

  1. Der Name der Kategorie oder Eingestellter Titeltag im Menüpunkt
  2. Der Name des Eintrages
  3. Optional noch der Name der Website (Das wird in der Joomla Konfiguration festgelegt)

Nehmen wir an man möchte das auf den Eintragsdetailseiten generell nur den Eintragsnamen als Metatitel haben, dann wird es schon komplizierter. Hier müssen wir nämlich zwei Dateien des verwendeten SobiPro Templates bearbeiten.

Zuerst die Template.php, hier muss der folgende Code, vor dem letzten "}" ergänzt werden:

public static function AddTitle( $title )
{
SPFactory::header()->setTitle( $title );
}

In der Datei entry/details.xsl müssen wir oben nach "<xsl:template match="/entry_details">" einfach folgendes Einbinden:

<xsl:variable name="myTitle">
<xsl:value-of select="entry/name"/>
</xsl:variable>
<xsl:value-of select="php:function( 'TplFunctions::AddTitle', $myTitle )" />

Das ganze bewirkt dann, dass der Eintragsname als Metatitel genommen wird, natürlich könnte man auch in der Sektion ein Extrafeld wie "Metatitel" anlegen und dann dieses verwenden.