Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Wert übergeben

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

08.02.2011, aktualisiert 11:09 Uhr, 5032 Aufrufe, 5 Kommentare

Hey,

ich ich will einen Wert von einer Function in eine Andere übergeben.
Leider bekomme ich es nicht hin. Ich checkts auch nicht so wirklich ;)
In der unteren Funktion würde ich gerne auf die Werte von $view ($view = $args->getSubject()->View();) aus der oberen Funktion zugreifen.

Bootstrap.php
01.
<?php 
02.
class Shopware_Plugins_Frontend_PDFCreator_Bootstrap extends Shopware_Components_Plugin_Bootstrap 
03.
04.
	public function install() 
05.
	{		 
06.
		$event = $this->createEvent( 
07.
	 		'Enlight_Controller_Action_PostDispatch', 
08.
	 		'onPostDispatch' 
09.
	 	); 
10.
		$this->subscribeEvent($event);		 
11.
		$event = $this->createEvent( 
12.
			'Enlight_Controller_Dispatcher_ControllerPath_Frontend_PDFCreator', 
13.
			'onGetControllerPath'); 
14.
		$this->subscribeEvent($event); 
15.
				 
16.
		return true; 
17.
18.
 
19.
	public static function onPostDispatch(Enlight_Event_EventArgs $args
20.
21.
		$request = $args->getSubject()->Request(); 
22.
		$response = $args->getSubject()->Response(); 
23.
				 
24.
		if(!$request->isDispatched()||$response->isException()||$request->getModuleName()!='frontend'){ 
25.
 
26.
		return
27.
 
28.
29.
		 
30.
		$view = $args->getSubject()->View(); 
31.
 
32.
 
33.
		$config = Shopware()->Plugins()->Frontend()->PDFCreator()->Config(); 
34.
		$view->PDFCreator = $config
35.
		$view->addTemplateDir(dirname(__FILE__).'/templates/'); 
36.
		$view->extendsTemplate('frontend/plugins/PDFCreator/index.tpl'); 
37.
38.
 
39.
	public static function onGetControllerPath(Enlight_Event_EventArgs $args
40.
 
41.
42.
		return dirname(__FILE__) . '/PDFCreator.php'; 
43.
44.
 
45.
46.
 
47.
}
PDFCreator.php
01.
<?php 
02.
class Shopware_Controllers_Frontend_PDFCreator extends Enlight_Controller_Action 
03.
04.
				 
05.
		public function indexAction() 
06.
07.
					 
08.
				//Hier will ich auf die Werte der Variable  $view ($view = $args->getSubject()->View();) aus der oberen Funktion zugreifen. 
09.
				$this->View()->loadTemplate(dirname(__FILE__).'/templates/frontend/plugins/PDFCreator/test.tpl'); 
10.
 
11.
12.
13.
 
14.
?>
Ich hoffe ihr könnt mir weiterhelfen.

Danke
Mitglied: maretz
08.02.2011 um 11:15 Uhr
Moin,

du kannst entweder die Variable in eine Session packen oder im POST/GET-Bereich übergeben. Es gibt noch eine Option der "globalen Variablen" - aber das willst du nicht weil $Böse, $GARNICHT_GUT!, $GANZSCHLECHT und $BÜCHSE_DER_PANDORRA dann alle auf true stehen ;)
Bitte warten ..
Mitglied: ottscho
08.02.2011 um 11:24 Uhr
POST/GET Bereich habe ich mir auch überlegt.
Aber in der Function wo ich /PDFCreator.php aufrufe, habe ich ja leider meine Varibale schon nicht mehr zur Verfügung :/
Bitte warten ..
Mitglied: SlainteMhath
08.02.2011 um 12:09 Uhr
Moin,

also grundsätzlich sind das erstmal nur definitiponen von 2 klassen. Wie werden die denn im Seiten-.code beniutzt? Werden die auf der gleichen Seite inkludiert? oder wie?

/EDIT:
Function wo ich /PDFCreator.php aufrufe, habe ich ja leider meine Varibale schon nicht mehr zur Verfügung :/
Ja das liegt aber auch daran, das sich $this immer auf die aktuelle instanz der KLasse bezieht, und es siche bei deiner Frage schon um 2 verschiedene Klassen handelt.

@maretz:
Globale variablen (globals) sind nicht böse, register_globals hingegen schon - hat aber beides eigentlch nichts mit der Frag evon ottscho zu tun

lg,
Slainte
Bitte warten ..
Mitglied: ottscho
08.02.2011 um 12:55 Uhr
Ich habe es nun hinbekommen, aber ich weiß nicht ob das der "perfekte" Weg ist.

Zuerst wird dies $view->extendsTemplate('frontend/plugins/PDFCreator/index.tpl'); angezeigt.
Hier klicke ich auf einen Link, welcher mit meinen Controller (PDFCreator.php)öffnet.

Nun habe ich hinten den Link einfach per GET meine Varibale angehängt.

Funktionieren tut es bestens. Ich weiß eben nur nicht ob es die feine Art ist.

@SlaintMhath
Dieser Teil public static function onPostDispatch(Enlight_Event_EventArgs $args) {} wirdm auf der aktuellen Seite ausgeführt und hängt an das Layout einen Button/Link im Content an.
Der Button/Link verweist auf den Controller public static function onGetControllerPath(Enlight_Event_EventArgs $args) {}.
Dieser gibt dann den Code von der PDFCreator.php aus.
Bitte warten ..
Mitglied: Haddr1
01.03.2011 um 14:50 Uhr
poste bitte den Code von der "Shopware_Components_Plugin_Bootstrap" Klasse
und
poste bitte den Code von der "Enlight_Controller_Action" Klasse

sonst ist man teils Blind im Code.
Bitte warten ..
Ähnliche Inhalte
HTML

HTML Formular Werte an Excel Datei übergeben

Frage von gamerffHTML7 Kommentare

Hallo, Kann ich die Werte die Besucher auf meiner webseite in das HTML Formular eingeben an eine Exceldatei übergeben ...

Microsoft Office

4 Werte an cognos impromtu aus VBA übergeben

Frage von LockeweissnichtMicrosoft Office

Hallo Liebe Forumsmitglieder, ich hoffe dass jemand eine Lösung für mein kleines Problem hat. Ich habe eine Excel Datei, ...

Microsoft Office

Aus Access Tabelle in bestehende Tabelle Excel an eine bestimmte Mappe Werte übergeben

Frage von thomas1972Microsoft Office2 Kommentare

Hallo, ich komme hier an einer Stelle nicht weiter. Wie ist es möglich aus einer Access Tabelle gewisse Spalten ...

Batch & Shell

PowerShell: mehrere durch Komma getrennte Werte an per Variable an einen Paramter übergeben

gelöst Frage von dasepp89Batch & Shell3 Kommentare

Hallo, wie in der Überschrift angegeben möchte ich in einem PowerShell-Skript eine Variable definieren, die mehrere Werte hält und ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 3 StundenWindows 102 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 6 StundenAdministrator.de Feedback10 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 23 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...