 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
29.04.2008, 18:10
|
#76
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
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
|
|
|
29.04.2008, 18:23
|
#77
|
|
TP-Newbie
Registriert seit: Apr 2008
|
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
|
|
|
29.04.2008, 18:32
|
#79
|
|
TP-Newbie
Registriert seit: Apr 2008
|
 stimmt, ein wenig viel das Ganze. Aber ein sehr guter Start - werde mir das mal genauer ansehen....
Vielen Dank einstweilen!
LG
Michi
|
|
|
26.05.2008, 13:00
|
#80
|
|
TP-Newbie
Registriert seit: May 2008
|
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
|
|
|
26.05.2008, 14:08
|
#81
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Hi,
Du solltest Dir nochmal das anschauen, insbesondere die Funktion
$this->cObj->substituteMarkerArrayCached
|
|
|
26.05.2008, 14:13
|
#82
|
|
TP-Newbie
Registriert seit: May 2008
|
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).
|
|
|
22.06.2008, 14:30
|
#83
|
|
TP-Senior
Registriert seit: Apr 2004
Ort: Hockenheim
|
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 
|
|
|
22.06.2008, 15:49
|
#84
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
doch, extdeveval ist längst up-to-date, leider noch nicht im TER
Die Version ist hier zu finden:
http://typo3xdev.sourceforge.net/
|
|
|
10.08.2008, 11:20
|
#85
|
|
TP-Newbie
Registriert seit: Aug 2008
|
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'], 0, 1000, 3); // Number of results to show in a listing.
$this->internal['maxPages'] = t3lib_div :: intInRange($lConf['maxPages'], 0, 1000, 2); // 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());
}
}
?>
|
|
|
10.08.2008, 12:30
|
#86
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
| | |