Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten Ansicht
  #1  
Alt 19.11.06, 13:17
Forum Newbie
 
Registriert seit: 18.10.06
Ort: AUT
Beiträge: 15

eigene Extension: email und link ausgeben?!?


hallo forum,

ich hab mir mit hilfe des buches von robert meyer einen eignene extension zusammengebastelt.

die extension hat folgende funktion:
backend: anlegen von mitarbeitern (datensätze)
frontend: die verschiedenen mitarbeiter werden in einer liste angezeigt; mit name, bild, email, homepage ...

soweit funktioniert auch alles wie es soll!

doch leider sind die so ausgegebenen links und email adressen nicht klickbar.

ich weiss, dass ich das in der class.user_ ... _ pi1.php an der stelle wo ich die marker meiner vorlage ersetze machen muss.

so siehts mom aus:
$marker["###MAIL###"] = $row["email"];
$marker["###PAGE###"] = $row["homepage"];

wie bekomm ich das hin, dass er mir die tags generriert?

danke,
lg pi
__________________
www.feeling.at
TYPO3 4.0
PHP 4.4.4
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 19.11.06, 13:56
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.178
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von piou Beitrag anzeigen
die extension hat folgende funktion:
backend: anlegen von mitarbeitern (datensätze)
frontend: die verschiedenen mitarbeiter werden in einer liste angezeigt; mit name, bild, email, homepage ...
Das ist ja genau die Beschreibung von "newloginbox"... ;-)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 19.11.06, 14:03
Forum Newbie
 
Registriert seit: 18.10.06
Ort: AUT
Beiträge: 15

...wirklich?

nur brauch ich nichts mit login!

ich will einfach alle mitarbeiter die ich im back als datensätze angelegt habe in einer liste im frontend anzeigen.
__________________
www.feeling.at
TYPO3 4.0
PHP 4.4.4
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 19.11.06, 14:14
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.178
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von piou Beitrag anzeigen
...wirklich?

nur brauch ich nichts mit login!

ich will einfach alle mitarbeiter die ich im back als datensätze angelegt habe in einer liste im frontend anzeigen.
Selbstverständlich kannst Du User auch im BE anlegen und ausgegeben werden sie dann mit der Userliste.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 19.11.06, 14:22
Forum Newbie
 
Registriert seit: 18.10.06
Ort: AUT
Beiträge: 15

Zitat:
Selbstverständlich kannst Du User auch im BE anlegen und ausgegeben werden sie dann mit der Userliste.
Das glaube ich dir gut und gerne. ABER ich hab da noch ein paar zusätzliche Felder drinnen und ausserdem funktioniert ja alles bestens so wie ichs jetzt gemacht habe. (allso wieso wieder alles umbauen?)

Nur scheiterts, aufgrund meiner nicht vorhandenen PHP kenntnisse, bei der ausgabe der mail und des web links.

Ich könnt natürlich im template die <a ..> tags einbauen. Aber ich glaube nicht das das die elegante lösung ist...
__________________
www.feeling.at
TYPO3 4.0
PHP 4.4.4
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 19.11.06, 14:31
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.178
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von piou Beitrag anzeigen
Nur scheiterts, aufgrund meiner nicht vorhandenen PHP kenntnisse, bei der ausgabe der mail und des web links.
Das erschwert die Sache ein bischen.

Leg Dir eine einfache FE Plugin Ext. im Kickstarter an. In selbiger findest Du per se diese Funktionalität und kannst sie kopieren.

PHP-Code:
    /**
     * Returns the content of a given field
     *
     * @param    string        $fN: name of table field
     * @return    Value        of the field
     */
    
function getFieldContent($fN)    {
        
// Creates a link for each column value to show the details, related by UID
        
return $this->pi_list_linkSingle($this->internal['currentRow'][$fN],$this->internal['currentRow']['uid'],1);
    } 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 19.11.06, 15:09
Forum Newbie
 
Registriert seit: 18.10.06
Ort: AUT
Beiträge: 15

erstmal danke für deine Hilfe!

aber ich raff das immer noch nicht ganz.

das FE Plugin Ext. habe ich im Kickstarter ja schon angelegt. Und in der class.user_rmmitarbeiter_pi1.php ersetze ich im moment die Marker wie folgt:

Code:
	function main($content,$conf)	{
		$this->conf=$conf;
		$this->pi_setPiVarDefaults();
		$this->pi_loadLL();
		$this->pi_USER_INT_obj=1;	// Configuring so caching is not expected. This value means that no cHash params are ever set. We do this, because it's a USER_INT object!
		
		// Variablen setzen
		$content = "";
                $marker = array();
                $img_pfad = "uploads/tx_userrmmitarbeiter/";

                // Die Designvorlage laden
                $tmpl = $this->cObj->fileResource($conf["templateFile"]);
                // Einen Teilbereich der Designvorlage auslesen
                $tmpl = $this->cObj->getSubpart($tmpl, "###MITARBEITER###");
                // Einen weiteren Teilbereich aus dem Teilbereich auslesen
                $tmpl_eintrag = $this->cObj->getSubpart($tmpl, "###EINTRAG###");      
		
		//Ggf. einen Parameter auslesen, ansonsten die aktuelle Seite verwenden
		$mitarbeiterPageId = $conf["mitarbeiterPageId"];
		if (!intval($mitarbeiterPageId)) $mitarbeiterPageId = $GLOBALS["TSFE"]->id;
		
                // Die Datenbankabfrage inkl. Unterstützung von Datenbankabstraktion
                $res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","user_rmmitarbeiter_main", "deleted = 0 AND hidden = 0 AND pid = '".$mitarbeiterPageId."'");
                while ($row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res)) {
                    // ein Array mit Platzhaltern als Schlüssel mit den Werten füllen
                    $marker["###NAME###"] = $row["vorname"]." ".$row["nachname"];
                    $marker["###MAIL###"] = $row["email"];
                    $marker["###PAGE###"] = $row["homepage"];
                    // Das Bild auslesen und verarbeiten
                    $conf["bild."]["file."]["10."]["file"]= $img_pfad.$row["bild"];
                    if ($this->cObj->fileResource($img_pfad.$row["bild"])) {
                       $marker["###BILD###"] = $this->cObj->cObjGetSingle($conf["bild"], $conf["bild."]);
                    } else {
                       $marker["###BILD###"] = $this->cObj->cObjGetSingle($conf["bild_default"], $conf["bild_default."]);
                    }
                    // Den Teilbereich ###EINTRAG### und das Array miteinander "vereinen"
                    $content .= $this->cObj->substituteMarkerArrayCached($tmpl_eintrag, $marker);
                }

                // Letzmalig den umhüllenden Teilbereich ersetzen und das Ergebnis ausgeben
                $content = $this->cObj->substituteSubpart($tmpl, "###EINTRAG###", $content);
		
		// Ergebnis ausgeben
		return $content;

	}
}
wie muss ich jetzt den MAIL und den PAGE Marker ersetzten damit der Marker durch die in der Tabelle befindliche email- bzw. web-adresse inklusive der zugehörigen tags für email bzw. link ersetzt wird?

So wie es jetzt ist werden die mail und web adresse ja nur als text im Template ersetzt...
__________________
www.feeling.at
TYPO3 4.0
PHP 4.4.4
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #8  
Alt 19.11.06, 15:59
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.178
mstuebner eine Nachricht über Skype™ schicken

Warum so kompliziert? Folgendes ist völlig legitim:
Code:
$marker["###MAIL###"] = '<a href="mailto:'.$row["email"].'">'.$row["email"].'</a>';
$marker["###PAGE###"] = '<a href="'.$row["homepage"].'">'.$row["homepage"].'</a>';
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #9  
Alt 19.11.06, 16:11
Forum Newbie
 
Registriert seit: 18.10.06
Ort: AUT
Beiträge: 15

ooopss!

Da hät ich ja wirklich sleber drauf kommen können.

Funktioniert einwandfrei....

Tausend Dank lieber mstuebner!!
__________________
www.feeling.at
TYPO3 4.0
PHP 4.4.4
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #10  
Alt 19.11.06, 17:02
Forum Newbie
 
Registriert seit: 18.10.06
Ort: AUT
Beiträge: 15

... und schon stehe ich vor dem nächsten problem!

und zwar möchte ich in der liste der mitarbeiter jeweils (also bei jedem mitarbeiter) einen klickbaren "...more" link anbringen der dann auf eine seite weiterleitet auf der details zum jeweiligen mitarbeiter zu sehen sind.

jetzt habe ich schon mal ein zweites frontend plugin (in der selben extension) im kickstarter angelegt dazu mach ich mir natürlich ein zugehöriges template und verändere auch das class.user_rmmitarbeiter_pi2.php nach meinen anforderungen. ... soweit sogut ....

jetzt kommt die erzeugung des links; irgendwie muss ich in der while schleife im class.user_rmmitarbeiter_pi1.php in der ich mir die ganze mitabeiterliste erzeuge einen "...more" link erzeugen, der auf die seite des zweiten frontendplugins verweist und diesem die jeweilige datensatz id anhängen/übergeben!

-->theoretisch kein problem. aber wie ich das praktisch mache: keine Ahnung!

kann einer helfen?

mfg piou
__________________
www.feeling.at
TYPO3 4.0
PHP 4.4.4
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are An


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eigene Überschrift im FCE ausgeben? laptop24 TemplaVoila 3 17.01.08 13:08
Eigene Dynamische Inhalte ausgeben Ha_Pe TYPO3 3.x Fragen und Probleme 1 11.10.07 10:45
Email Bestätigung - Link funktioniert falsch JaCk Direct Mail 1 21.08.07 11:35
ve_guestbook + emoticons + link in EMail-Benachrichtigung Kurt51 Alle anderen Extensions 2 27.07.07 16:29
eigene und Vater ID ausgeben Dr.Schmidt TYPO3 3.x Fragen und Probleme 6 02.01.07 18:33


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr.


Powered by vBulletin® Version 3.6.8 Patch Level 2 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Template-Modifikationen durch TMS