+ Antworten
Seite 7 von 8 ErsteErste ... 4 5 6 7 8 LetzteLetzte
Ergebnis 91 bis 105 von 107

Thema: [Workshop] TYPO3 - Extension Programmierung

  1. #91
    TP-Newbie npre macht alles soweit korrekt
    Registriert seit
    Aug 2008
    Beiträge
    4
    Juhuuu!! Ich Habe Es!!! Viiiiiiiiiielen Dank!!!

    Falls es mal jemand braucht, hier der gesamt code:

    PHP-Code:
    <?php
    /***************************************************************
    *  Copyright notice
    *
    *  (c) 2008 matin <office@matin.at>
    *  All rights reserved
    *
    *  This script is part of the TYPO3 project. The TYPO3 project is
    *  free software; you can redistribute it and/or modify
    *  it under the terms of the GNU General Public License as published by
    *  the Free Software Foundation; either version 2 of the License, or
    *  (at your option) any later version.
    *
    *  The GNU General Public License can be found at
    *  http://www.gnu.org/copyleft/gpl.html.
    *
    *  This script 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.
    *
    *  This copyright notice MUST APPEAR in all copies of the script!
    ***************************************************************/

    require_once(PATH_tslib.'class.tslib_pibase.php');


    /**
     * Plugin 'TP Plugin' for the 'tp_test' extension.
     *
     * @author    matin <office@matin.at>
     * @package    TYPO3
     * @subpackage    tx_tptest
     */
    class tx_tptest_pi1 extends tslib_pibase {
        var 
    $prefixId      'tx_tptest_pi1';        // Same as class name
        
    var $scriptRelPath 'pi1/class.tx_tptest_pi1.php';    // Path to this script relative to the extension dir.
        
    var $extKey        'tp_test';    // The extension key.
        
    var $pi_checkCHash true;
        var 
    $template;
        var 
    $id;
        
    /**
         * The main method of the PlugIn
         *
         * @param    string        $content: The PlugIn content
         * @param    array        $conf: The PlugIn configuration
         * @return    The content that is displayed on the website
         */
                    
        
    function main($content,$conf)    {
               
    $this->conf=$conf;
            
    $this->pi_setPiVarDefaults();
            
    $this->pi_loadLL();
            
            
    #ein paar Vorbelegungen
            
    $this->id=$GLOBALS['TSFE']->id;
            
    $this->template=$this->cObj->fileResource('EXT:tp_test/template.html');
            
            
    #welche Ansicht?
            
    if($this->piVars['item']) {
                
    $content $this->detailView();
            } else {
                
    $content $this->listView();
            }
        
            return 
    $this->pi_wrapInBaseClass($content);
        }
        
        function 
    listView() {
            
    #unser Subpart
            
    $subpart=$this->cObj->getSubpart($this->template,'###LISTVIEW###'); 
            
    #eine einzelne Reihe
            
    $singlerow=$this->cObj->getSubpart($subpart,'###ROW###'); 
            
    #Datensätze holen
            
    $res=$GLOBALS['TYPO3_DB']->exec_SELECTquery(
            
    '*',   #select
            
    'tx_tptest'#from
            
    'hidden=0 and deleted=0 and pid='.$this->id,  #where
            
    $groupBy='',
            
    $orderBy='',
            
    $limit=$this->piVars['pointer']*',3');

            
            if(
    $res) {
                
    $liste='';
               
    # while($row=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
               
    while( $row =  $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
                    
    $markerArray['###LINK###']=$this->pi_linkTP($row['title'],array($this->prefixId.'[item]'=> $row['uid']), $cache=1);
                    
    $markerArray['###LINKTEXT###']=$this->pi_linkTP($this->pi_getLL('weiterlesen'),array($this->prefixId.'[item]'=> $row['uid']), $cache=1);
                    
    $markerArray['###TEXT###']=$this->pi_RTEcssText($row['text']);
                    
    $config = array();
                    
    $config['file'] = 'uploads/tx_tptest/'.$row['image'];
                    
    $config['file.']['maxW'] = '140';
                    
    $config['altText'] = $row['title'];
                    
    $config['titleText'] = $row['title']; 
                    
    $img $this->cObj->IMAGE($config);
                    
    $markerArray['###IMAGE###']=$img
                    
    //Image als Link zu Detailseite:
                    
    $config1 = array();
                    
    $config1['file'] = 'uploads/tx_tptest/'.$row['image'];
                    
    $config1['file.']['maxW'] = '40';
                    
    $img1 $this->cObj->IMAGE($config1);
                    
    $markerArray['###LINKIMAGE###']=$this->pi_linkTP($img1,array($this->prefixId.'[item]'=> $row['uid']), $cache=1);
                    
    //weitere Tags im Link hinzufügen
                    
    $link $this->pi_linkTP(
                    
    $row['title'],
                    
    $overrulePIvars=array($this->prefixId.'[item]'=> $row['uid']), $cache=1,
                    
    $clearAnyway=0,
                    
    $altPageId=0
                    
    );
                    
    $params = array(
                    
    'class' => "classxy",
                    
    'title' => $row['title'],
                    
    'target' => "_blank",
                    
    'ref' => 'nofollow'
                    
    );
                    
    $markerArray['###PDF###'] = $this->cObj->addParams($link,$params);

                 
    $liste .= $this->cObj->substituteMarkerArrayCached($singlerow,$markerArray); 
                }
                 
    $subpartArray['###ROW###']=$liste;
                
                
    #Pagebrowser 
                
    $res=$GLOBALS['TYPO3_DB']->exec_SELECTquery(
                
    'count(*)',   #select
                
    'tx_tptest'#from
                
    'hidden=0 and deleted=0 and pid='.$this->id);
                
    $row =  $GLOBALS['TYPO3_DB']->sql_fetch_row($res);
                
    $count $row[0]; 
            
                
    $this->internal['res_count'] = $count;
                
    $this->internal['results_at_a_time'] = 3;
                
    $this->internal['maxPages'] = 2
                
                
    $markerArray['###BROWSERESULTS###']=$this->pi_list_browseresults();
                    
                } else {
                return 
    $this->pi_getLL('nodata');
            }
            
            return 
    $this->cObj->substituteMarkerArrayCached($subpart,$markerArray,$subpartArray,array());     
            
        }

  2. #92
    TP-Member M-Cha macht alles soweit korrekt Avatar von M-Cha
    Registriert seit
    Oct 2008
    Beiträge
    37
    Habe alles nach der Anleitung gemacht.

    Er zeigt mir auch die Daten aus der Datenbank an nur wenn ich auf einen Datensatz klicke kommt nicht die ausführliche Ansicht sonder diese Fehlermeldung:

    Fatal error:
    Call to undefined method tx_tptest_pi1::detailView() in
    C:\xxx\xxx\Typo3_Testprojekt2\typo3conf\ext\tp_test\pi1\class.tx_tptest_pi1.php on line 61


    HAT SICH ERLEDIGT!
    Geändert von M-Cha (28.10.2008 um 08:59 Uhr)

  3. #93
    TP-Member M-Cha macht alles soweit korrekt Avatar von M-Cha
    Registriert seit
    Oct 2008
    Beiträge
    37
    Gibt es eine möglichkeit das ich bei der Extension eine andere Datenbank nehmen kann?

    Also eine die vom anderen Server. Möchte die Daten nämlich nicht in der Typo3 DB drin haben.

  4. #94
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    das ist in der API nicht vorgesehen.

    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer

  5. #95
    TP-Member M-Cha macht alles soweit korrekt Avatar von M-Cha
    Registriert seit
    Oct 2008
    Beiträge
    37
    PHP-Code:
     $ort $this->pi_linkTP($row['ort'],array($this->prefixId.'[item]'=> $row['uid']), $cache=1);
               
                    
    $neu "Neu";
                    if(
    $ort == "Berlin")
                    {
                        
    $markerArray['###NEU###']=$neu;
                    } 
    Kann ich so einen Vergleich machen? Irgendwie funktioniert das ganze nicht.

    Es soll der "ORT" aus der Datenbank verglichen werden. Wenn der Ort = Berlin ist soll der marker NEU gesetzt werden.

  6. #96
    TP-Member M-Cha macht alles soweit korrekt Avatar von M-Cha
    Registriert seit
    Oct 2008
    Beiträge
    37
    Ich habe hier diese Karte:



    und möchte eine dritte Ebene einführen.

    Erst soll diese Karte erscheinen, dann klicke ich auf ein Bundesland und es soll mir die LISTVIEW mit den Daten des jewaligen Landes anzeigt werden.

    Wenn ich dann etwas aus der LISTVIEW nehme, soll er mir die DETAILVIEW anzeigen.

    Wäre um jede Hilfe dankbar. Brauche umbedingt vor der LISTVIEW ein drittes content.

    Bis jetzt gibt es nur diese:
    PHP-Code:
                if($this->piVars['item']) 
                {
                    
    $content $this->detailView();
                } 
                else 
                {
                    
    //$content = $this->kartenView();
                

    Geändert von M-Cha (06.11.2008 um 11:17 Uhr)

  7. #97
    TP-Member M-Cha macht alles soweit korrekt Avatar von M-Cha
    Registriert seit
    Oct 2008
    Beiträge
    37
    EXTENSION wird unter LISTE -> "Neuen DATENSATZ erstellen" nicht angezeigt.

    Kann mir jemand helfen? Habe jetzt eine zweite Extension erstellt und diese wird nicht angzeigt. Im Erw. Manager wird sie angezeigt nur unter Liste nicht.

  8. #98
    TP-Newbie camelmed macht alles soweit korrekt
    Registriert seit
    Apr 2009
    Ort
    Wien
    Beiträge
    1
    Hallo,

    erstmal danke für die super Beschreibung, hat mir einiges an Verständnis gebracht. Allerdings hab ich ein Problem bei dem ich irgendwie nicht weiter komme. Und zwar wenn ich meine extension im Kickstarter erstelle und nacher installiere, kann ich sie auch auswählen (zwar nicht so wie da beschrieben sondern über den Weg: Neuen Content anlegen -> Globales Plugin -> oben auf den Reiter "Plugin" -> hier im Dropdown mein plugin wählen) aber ich habe die Felder nicht zum eintragen, es steht nur "Startingpoint:"?

    Habe hier die Lösung mit "allow on pages" gelesen allerdings funktioniert das auch nicht. Habe das plugin auch neu erstellt (genau nach der Anleitung) und komme aufs gleiche Ergebnis. Einmal hatte ichs sogar soweit das ich die Felder in den Seiteneigenschaft hatte?!?

    Kann es sein das sich bei Typo3 4.2.6 da irgendwas geändert hat?

    ciao
    Toni

    Edit:
    Nachdem ich den cache geleert habe, habe ich meine definierten Felder unter der Listen Ansicht gefunden
    Geändert von camelmed (29.04.2009 um 18:08 Uhr)

  9. #99
    TP-Newbie ataria macht alles soweit korrekt
    Registriert seit
    Jul 2009
    Beiträge
    1

    debugging Problem

    Hi,

    danke erstmal für das tolle Tutorial! Ich habe allerdings ein kleines Problem. Auch wenn ich den Code ins Setup einfülle, bringt das debugging der $conf mir immer nur:

    Code:
    Array (1)
    *variable*
    String (27) 	userFunc 	tx_tpextension_pi1->main
    oder bei Variante 2 (s.u.):

    Code:
    Array (2)
    *variable*
    String (59) 	includeLibs 	typo3conf/ext/tp_extension/pi1/class.tx_tpextension_pi1.php
    String (27) 	userFunc 	tx_tpextension_pi1->main
    Es ignoriert also das fürs plugin eingegebene Setup komplett.

    Ich dachte, es liegt vielleicht an der Art, wie ich meine Extension einbinde. ich hab es auf zwei arten versucht, default output wird jeweils angezeigt, debugging funktioniert bei keiner:

    1. Variante

    Code:
    plugin.tx_tptest_pi1 {
       test = 20
       test1 = 15
       help = Ich bin ein Hilfetext
       meineVar = Inhalt meiner Var
    }
    
    page = PAGE
    page.typeNum = 0
    
    includeLibs.test_library = typo3conf\ext\tp_extension\pi1.php
    
    page.10 = USER
    page.10.userFunc = tx_tpextension_pi1->main
    2. Variante:

    Mit html-Template und über den entsprechenden Marker und stlyes.content.get für die entrpechende spalte.

    Ich habe den das ts:

    plugin.tx_tptest_pi1 {
    test = 20
    test1 = 15
    help = Ich bin ein Hilfetext
    meineVar = Inhalt meiner Var
    }

    übrigens auch in die typoscript.txt der extension gelegt. Es geht trotzdem nicht. Bei anderen (nicht selbstgemachten ^^) extensions klappt das debuggen...

    Danke schonmal für jegliche Hinweise ^^



    Es hat sich erledigt. Für alle die das selbe Problem haben:

    - ts setup ins setup feld der extension kopieren

    - extension auf leerer seite einbinden

    - temlate record erstellen

    - static template "content(default)" einbinden (bei "edit the whole template record, reiter: includes)

    - dann folgendes setup eintragen:

    Code:
    page = PAGE
    page.typeNum = 0
    
    page.20 < styles.content.get
    Keine Ahnung ob das "best practice" ist, aber so erzeugt das debugging zumindest mal die gewünschte ausgabe ^^. Allerdings muss man dazu sagen, dass ich anstatt eigenen Tabellen abzulegen tt_content erweitert habe. schätze es hängt damit zusammen
    Geändert von ataria (01.08.2009 um 09:19 Uhr)

  10. #100
    TP-Newbie Jafix macht alles soweit korrekt
    Registriert seit
    Aug 2009
    Beiträge
    1

    Thumbs up Erweiterung

    Hallo steffenk!

    Klasse Tutorial! u.A. dank deines Werkes hab ich nun schon mal den Fuß in der Tür zur Extensionprogrammierung.
    Inzwischen klappts auch mit der Eingabe von Daten via Form und der Ausgabe.

    Nach langem suchen und probieren hab ich auch rausgefunden was ich tun muss um die Daten unter einer bestimmten pid (ordner) zu speichern, anstatt die Datesätze immer nur auf der Seite zu haben auf der auch die ext eingebunden ist.

    Nun aber meine Frage:

    Weist du wie ich ein Feld / Auswahlmöglichkeit hin bekomme, wo man so Ähnlich wie bei dem Seitenpunkt "Allgemeine Datesatzsammlung" angeben kann wo die ext die Datensätze speichern / lesen soll.

    Also wennich die ext auf der Seite einbinde kann ich dann auch eine Seite / Ordner im BE per klick auswählen und die ext speichert Eingaben dort und liest daten aus der angegebenen Seite / dem Ordner.

    Ich hoffe du verstehst was ich meine....

    ... und kannst mir da helfen...



    LG

    Jan

  11. #101
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    das ist relativ leicht. mit
    $GLOBALS['TSFE']->getStorageSiterootPids()
    bekommst Du ein array mit allen Pids. Du musst dann bei dem Sysfolder das Feld "allgemeine Datensatzsammlung" aktivieren, damit er mit in der Liste ist.

    Zum Speichern muss man trotzdem einen Folder auswählen, am besten über Typoscript.

    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer

  12. #102
    TP-Newbie roponatschen macht alles soweit korrekt
    Registriert seit
    Dec 2004
    Beiträge
    4
    Hallo, ich habe cs4 - englische version - installiert und festgestellt, daß die automatisierungsfunktion zur erstellung einer webgalerie, mit der ich in der älteren cs deutschen version gearbeitet habe, nicht mehr vorhanden ist. Kann ich diesen teil der älteren version in cs4 "importieren"? in der älteren version habe ich einen individuellen banner über "vorgaben/webfotogalerie/einfach" s. beispiel http://www.jaenicke-njoya.com/s627/index_36.htm eingebaut. Gibt es eine Möglickeit diesen Teil der älteren version in die neue version zu übernehmen? Danke für jeden tip.

  13. #103
    TP-Newbie typo3_berlin macht alles soweit korrekt
    Registriert seit
    Jan 2010
    Ort
    berlin
    Beiträge
    1

    typo3 programmierung in berlin suchmaschinenoptimierung

    hallo,
    Typo3 Suchmaschinenoptimierung für Extension-Programmierung hat mir gerade Werbung entfernt gemacht. Suchmaschinen-Tips für Typo3 auch unter Werbung entfernt.
    typo3_berlin
    Geändert von phpBuddy (25.01.2010 um 03:16 Uhr) Grund: Werbung entfernt

  14. #104
    TP-Newbie patla macht alles soweit korrekt
    Registriert seit
    Feb 2010
    Beiträge
    1
    hi,
    das tutorial hat funktioniert.

    jetzt eine frage, bin wirklich ein greenhorn...

    wenn ich im datensatz mehr als ein foto anlege wird keines mehr angezeigt! eines eben schon.

    wo muss ich das was ändern wenn ich mehrere bilder auf der detailseite angezeigt haben will?

    bitte um kurze info…

  15. #105
    TP-Newbie Lizzie macht alles soweit korrekt
    Registriert seit
    Mar 2010
    Beiträge
    2
    hi patla, hi alle

    patla, konnstest du dein problem lösen?

    ich bin noch nicht sehr vertraut mit typo 3 und habe nun genau das selbe problem. konnte mir dank dieser super anleitung meine extension zusammenstellen und es hat alles prima geklappt.

    nun möchte ich aber gleichzeitig drei verschiedene bilder hinzufügen. sobald ich das mache wird der marker ###IMAGE### zwar ersetzt, jedoch bleibt er leer, es wird nicht einmal mehr das erste bild angezeigt.

    mein code sieht so aus:
    PHP-Code:
    $markerArray['###IMAGE###']=$this->cObj->IMAGE(array(
                
    'file' => 'uploads/tx_bftangebote01/'.$record['images'],
                
    'file.maxW' => 140,
            )); 
    besten dank schon mal für eure hilfe
    lg lizzie

+ Antworten
Seite 7 von 8 ErsteErste ... 4 5 6 7 8 LetzteLetzte

LinkBacks (?)

  1. 05.01.2010, 13:30
  2. 28.03.2009, 00:10
  3. 27.03.2009, 12:39
  4. 04.02.2009, 22:32
  5. 11.01.2009, 13:41
  6. 06.01.2009, 16:12
  7. 13.11.2008, 23:08
  8. 10.10.2008, 14:56
  9. 14.08.2008, 23:36
  10. 09.08.2008, 10:13
  11. 09.07.2008, 13:55
  12. 10.05.2008, 11:23
  13. typo3
    Refback This thread
    07.05.2008, 14:55
  14. 25.04.2008, 09:33
  15. 08.04.2008, 20:05
  16. 01.02.2008, 15:12
  17. 01.02.2008, 15:08
  18. 28.01.2008, 10:08
  19. 10.01.2008, 16:35
  20. 06.01.2008, 01:51
  21. 11.11.2007, 01:28
  22. 30.08.2007, 09:30
  23. 21.08.2007, 19:04
  24. 21.08.2007, 13:14
  25. 15.08.2007, 14:58

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51