phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack (22) Themen-Optionen Thema durchsuchen
Alt 29.04.2008, 18:10   #76
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
sicher der Fehler den Viele machen: im Kickstarter die entsprechenden Häkchen setzen (Allowed on pages) und "Type-field", if any: auf jeden Fall auf none
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten


Alt 29.04.2008, 18:23   #77
TP-Newbie
 
Registriert seit: Apr 2008
FlipFlop1974 macht alles soweit korrekt

Passt!


Super Danke! Das war's!
Hab jetzt nochmal nachgesehen und es steht eh in deinem Tutorial... Naja, habs irgendwie übersehen, sorry.

Das Ganze führt mich aber jetzt zu einer anderen Frage: Die Eingabe der Daten im BE ist jetzt mittels Listen-Ansicht möglich. Wie kann ich es aber erreichen die Formulare eines Content-Elemente anzupassen? Damit meine ich jetzt nicht die Dateneingabe wie man sie jetzt in der Liste-Ansicht machen kann - das ist schon gut so, sondern wenn ich meine Ext. konfigurieren möchte wäre im Plugin der Seite sicher eine Möglichkeit dazu, oder? Klar gehts über TS auch - das hast du ja wunderbar erklärt, aber wenns nicht der Admin machen soll/darf sondern auch der User wäre eine GUI dafür sicher nett. Ich hab schon viel von Flexform undgl. gelesen komme aber auf keinen grünen Zweig damit :-)

Für einen Gedankenanstoß´wäre ich schon dankbar :-)

LG
Michi
FlipFlop1974 ist offline   Mit Zitat antworten
Alt 29.04.2008, 18:28   #78
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
genau, das Stichwort heisst Flexform

tja, das ist nicht so wenig zu beschreiben, hier mal eine gute Quelle:
http://wiki.typo3.org/index.php/Exte...sing_Flexforms
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 29.04.2008, 18:32   #79
TP-Newbie
 
Registriert seit: Apr 2008
FlipFlop1974 macht alles soweit korrekt
stimmt, ein wenig viel das Ganze. Aber ein sehr guter Start - werde mir das mal genauer ansehen....

Vielen Dank einstweilen!
LG
Michi
FlipFlop1974 ist offline   Mit Zitat antworten
Alt 26.05.2008, 13:00   #80
TP-Newbie
 
Registriert seit: May 2008
X_Burner macht alles soweit korrekt
Kann mich meinen Vorredner nur anschliessen, vielen Dank für diesen Workshop !

Ich mache gerade meine 1. Schritte mit typoscript, und würde nun gerne meine 1. eigene Extension schreiben.

Ich würde gerne folgende Seite dynamisieren, und die Werte im Constant Editor (Template) eingeben,
wie z.B. mit der meta Content Ext.

http://test.nardino.org/routenplaner

Ich habe mit dem kickstarter 10 Felder angelegt:

key, latidude_a, latidude_b, longitude_a, longitude_b, width, height, name, street, PLZ, city und pic

Nach Erstellung der Ext habe ich in der Liste die Möglichkeit, einen Datensatz anzulegen,
was ich dann auch getan habe.

Aber wie schafffe ich es jetzt, das die Inhalte im FE ausgegeben werden ?

http://eboom.biz/

Code:
class tx_googlenavigator_pi2 extends tslib_pibase {
	var $prefixId      = 'tx_googlenavigator_pi2';		// Same as class name
	var $scriptRelPath = 'pi2/class.tx_googlenavigator_pi2.php';	// Path to this script relative to the extension dir.
	var $extKey        = 'google_navigator';	// The extension key.
	var $pi_checkCHash = true;
	
	/**
	 * 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();
		$this->template=$this->cObj->fileResource('EXT:google_navigator/template.html');
		$record=$this->pi_getRecord('tx_googlenavigator_data',$this->piVars['data']);
		
		$markerArray['###TITLE###']=$record['name'];
		
	
		$content='
			<strong>This is a few paragraphs:</strong><br />
			<p>This is line 1</p>
			<p>###TITLE###</p>
	
			<h3>" . $name . "</h3>	
	
			<h3>This is a form:</h3>
			<form action="'.$this->pi_getPageLink($GLOBALS['TSFE']->id).'" method="POST">
				<input type="hidden" name="no_cache" value="1">
				<input type="text" name="'.$this->prefixId.'[input_field]" value="'.htmlspecialchars($this->piVars['input_field']).'">
				<input type="submit" name="'.$this->prefixId.'[submit_button]" value="'.htmlspecialchars($this->pi_getLL('submit_button_label')).'">
			</form>
			<br />
			<p>You can click here to '.$this->pi_linkToPage('get to this page again',$GLOBALS['TSFE']->id).'</p>
		';
	
		return $this->pi_wrapInBaseClass($content);
		t3lib_div::debug($this->piVars,'unser debug');
	}
}



if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/google_navigator/pi2/class.tx_googlenavigator_pi2.php'])	{
	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/google_navigator/pi2/class.tx_googlenavigator_pi2.php']);
}
Könnte eventuell ein weiter Teil dieses Workshop mit dem Titel Flexform erstellt werden ?
Ich denke das Thema würde viele Interessieren

Nochmals Danke für die Superarbeit !

Gruss

X_Burner
X_Burner ist offline   Mit Zitat antworten
Alt 26.05.2008, 14:08   #81
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Hi,

Du solltest Dir nochmal das anschauen, insbesondere die Funktion
$this->cObj->substituteMarkerArrayCached
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 26.05.2008, 14:13   #82
TP-Newbie
 
Registriert seit: May 2008
X_Burner macht alles soweit korrekt
Der Link funzt irgendwie nicht :$

Sorry, bin Newbie...eventuell geh auch ganz falsch an die Sache ran.
Eventuell brauche ich noch kein Template...
ich wollte einfach erstmal schnell die Werte, die ich im Datensatz angelegt habe, ausgeben lassen.

X_Burner

Geändert von X_Burner (26.05.2008 um 14:38 Uhr).
X_Burner ist offline   Mit Zitat antworten
Alt 22.06.2008, 14:30   #83
TP-Senior
 
Benutzerbild von Tetsuo
 
Registriert seit: Apr 2004
Ort: Hockenheim
Tetsuo ist auf einem guten Weg
Ich weiß nicht ob das schon erwähnt wurde, die Extension extdeveval wird seit TYPO3 4.2 nicht mehr angezeigt. Die Extension t3dev bietet aber jetzt ähnliche offline Infos an
__________________

nito | 鉄生
Tetsuo ist offline   Mit Zitat antworten
Alt 22.06.2008, 15:49   #84
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
doch, extdeveval ist längst up-to-date, leider noch nicht im TER
Die Version ist hier zu finden:
http://typo3xdev.sourceforge.net/
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 10.08.2008, 11:20   #85
TP-Newbie
 
Registriert seit: Aug 2008
npre macht alles soweit korrekt
tolle anleitung! die hat mir wirklich geholfen, meine extension nach meinen bedürfnissen zu erstellen. jedoch habe ich ein kleines problem. seit tagen versuche ich die funktion pi_list_browseresults() einzubauen. leider ohne erfolg. es zwar die seitennavigation korrekt angezeigt, jedoch werden in der listendarstellung entweder nur [dummy header row] und [dummy row] angezeigt, oder es wird immer nur der erste datensatz angezeigt.

ich hoffe, mir kann hier jemand weiterhelfen. hier mein 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='');
        
        if(
$res) {
            
$liste='';
            while(
$row=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
                
$markerArray['###LINK###']=$this->pi_linkTP($row['title'],array($this->prefixId.'[item]'=> $row['uid']));
                
$markerArray['###LINKTEXT###']=$this->pi_linkTP($this->pi_getLL('weiterlesen'),array($this->prefixId.'[item]'=> $row['uid']));
                
$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']));
                
                
            if (!isset(
$this->piVars['pointer']))    $this->piVars['pointer']=0;
            if (!isset(
$this->piVars['mode']))    $this->piVars['mode']=1;
            
            
// Initializing the query parameters:
            
$this->internal['currentTable'] = 'tx_tptest';
            
//ur: list ($this->internal['orderBy'], $this->internal['descFlag']) = explode(':', $this->piVars['sort']);
            
$this->internal['descFlag'] = '0';
            
$this->internal['orderBy'] = 'title';
            
$this->internal['results_at_a_time'] = t3lib_div :: intInRange($lConf['results_at_a_time'], 010003); // Number of results to show in a listing.
            
$this->internal['maxPages'] = t3lib_div :: intInRange($lConf['maxPages'], 010002); // The maximum number of "pages" in the browse-box: "Page 1", "Page 2", etc.
            
$this->internal['searchFieldList'] = 'title';
            
$this->internal['orderByList'] = 'title';
            
            
// Get number of records:
            
$res $this->pi_exec_query('tx_tptest'1$addWhere);
            list (
$this->internal['res_count']) = $GLOBALS['TYPO3_DB']->sql_fetch_row($res);
            
            
// Make listing query, pass query to SQL database:
            
$res $this->pi_exec_query('tx_tptest'0$addWhere);
            
$this->internal['currentTable'] = 'tx_tptest';
            
            
// Put the whole list together:
            
$fullTable ''// Clear var;
            #    $fullTable.=t3lib_div::view_array($this->piVars);    // DEBUG: Output the content of $this->piVars for debug purposes. REMEMBER to comment out the IP-lock in the debug() function in t3lib/config_default.php if nothing happens when you un-comment this line!
            
            // Adds the mode selector.
            
             #           $fullTable.=$this->pi_list_modeSelector($items);
            
            // Adds the search box:
            
$fullTable .= $this->pi_list_searchBox();
            
            
// Adds the whole list table
            
$fullTable .= $this->pi_list_makelist($res);
            
            
//ur t3lib_div :: debug($fullTable, 'fullTable');
            
            
$fullTable .= $this->pi_list_browseresults();  
            
            

             
$liste .= $this->cObj->substituteMarkerArrayCached($singlerow,$markerArray); 
            }
             
$subpartArray['###ROW###']=$liste;
            
            
$markerArray['###BROWSERESULTS###']=$this->pi_list_browseresults();
                
            } else {
            return 
$this->pi_getLL('nodata');
        }
        
        
        return 
$this->cObj->substituteMarkerArrayCached($subpart,$markerArray,$subpartArray,array());     
        
    }
    
    
    function 
detailView() {
        
#unser Subpart
        
$subpart=$this->cObj->getSubpart($this->template,'###DETAILVIEW###'); 
        
        
#Datensatz holen
        
$record=$this->pi_getRecord('tx_tptest',$this->piVars['item']);
        
        
#Marker füllen
        
$markerArray['###TITLE###']=$record['title'];
        
$markerArray['###DATUM###']=date('d.m.Y',$record['date']);
        
$markerArray['###TEXT###']=$this->pi_RTEcssText($record['text']);
        
#Bild verkleinern
        
$config = array();
        
$config['file'] = 'uploads/tx_tptest/'.$record['image'];
        
$config['file.']['maxW'] = '140';
        
// check if lightbox ext. is installed and init
        
if (t3lib_extMgm::isLoaded('kj_imagelightbox2'))
        {
        
$config['imageLightbox2'] = 1;
        
$config['imageLightbox2.']['caption'] = htmlentities($record['title']);
        } 
        
$img $this->cObj->IMAGE($config);
        
$markerArray['###IMAGE###']=$img
        
        
$markerArray['###GROSS###']=$this->pi_RTEcssText($record['grossestextfeld']);
        
$markerArray['###LINK###']=$this->cObj->typolink($record['link'],array(
            
'parameter' => $record['link'],
            
'extTarget' => '_blank',
        ));
        
        
#backlink als einfachen Link ohne Parameter
        
$markerArray['###BACKLINK###']=$this->pi_linkToPage($this->pi_getLL('back'),$this->id);
        
        return 
$this->cObj->substituteMarkerArrayCached($subpart,$markerArray,array(),array());   
          
    }
    
    
}  

?>
npre ist offline   Mit Zitat antworten
Alt 10.08.2008, 12:30   #86
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine User