Seite 1 von 1

master.less speichern

Verfasst: Mo 9. Jun 2014, 01:16
von dipser
Hi,

hat jemand eine Idee, warum hierbei das Dokument ausgetauscht im Editor wird? Und speichern tut es auch nur sporadisch.

weCustomHook_save:

Code: Alles auswählen

...
if ($param[0]->Extension=='.less' && $param[0]->parseFile==0) {
	$mainID = 11;
	$docMain = new we_webEditionDocument();
	$docMain->initByID($mainID);
	$docMain->we_save();
	$docMain->we_publish(); // << Ist das überhaupt nötig?
}
...
Grüße, dipser

Re: master.less speichern

Verfasst: Fr 13. Jun 2014, 16:30
von blickfang
es gibt beim publish evtl. das Problem, dass Du eine endlosschleife baust, da der pubslish hook ja immer bei pubslish aufgerufen wird. Ich glaube man kann dem we_publish() noch was mitgeben, dass dies eben nicht passiert, hab das aber leider gerade nicht griffbereit...

Re: master.less speichern

Verfasst: So 15. Jun 2014, 15:36
von dipser
Nein es entsteht keine Endlosschleife, sonst würde das PHP-Programm ja eine Weile lang laufen.

Re: master.less speichern

Verfasst: Do 29. Jan 2015, 18:00
von AndreasWitt
... das mit der Endlosschleife solltest du noch einmal prüfen:

Code: Alles auswählen

/*
* we_save() kann die beiden Parameter $resave und $skipHook verarbeiten
* durch das $skipHook=true wird eine Endlosschleife verhindert
*/
$savedObj->we_save(false, true);
Außerdem kannst du den Aufruf we_save() sparen, wenn du we_publsih() ausführst.

Grüße, Andreas

Re: master.less speichern

Verfasst: Do 29. Jan 2015, 19:16
von ThomasGoebe
AndreasWitt hat geschrieben: Außerdem kannst du den Aufruf we_save() sparen, wenn du we_publsih() ausführst.
sicher? Je nach Bereich (Objekt / Dokument / LESS) setzt we_publish nur das Veröffentlichungsdatum. Zumindest bei Objekten ist das m.E. so.

Re: master.less speichern

Verfasst: Fr 30. Jan 2015, 12:30
von mokraemer
vermutlich, weil du die DB connection mit der auch WE arbeitet und dort das Dokument erwartet manipulierst.
Du kannst dir das aber durchaus sparen, da WE ja einen eingebauten less Parser besitzt.

Re: master.less speichern

Verfasst: Fr 30. Jan 2015, 12:54
von ThomasGoebe
Hallo Marc,

nein, den Hook kann man sich nicht sparen. Ich setze das so auch ein. Da es keine echte include Möglichkeit bei den less Dateien gibt, bei der die Hauptdatei gespeichert wird, wenn eine per @import '#WE:ID#'; eingebundene Datei gespeichert wird, muss man das per Hook lösen.

Andernfalls musst Du bei jeder Änderung in einer importierten less Datei die Hauptdatei(en) ebenfalls speichern, was extrem nervig ist und damit den Vorteil der Aufteilung in verschiedene Dateien widerlegt.

Re: master.less speichern

Verfasst: Fr 30. Jan 2015, 13:02
von ThomasGoebe
Hallo dipser,

ich nutze übrigens we_textDocument statt we_webEditionDocument.
Hier einmal mein save Hook für less Dateien, vielleicht hilft Dir das weiter:

Code: Alles auswählen

function weCustomHook_save($param) {
		
		$hookHandler=$param['hookHandler'];
		$resave=$param['resave'];
		$obj=$param[0];

		switch(get_class($obj)) {
			// beim Speichern von Less Dateien im Ordner /system/css/include auch die masterdateien styles.less / lightbox.less etc. speichern
			case 'we_textDocument':
                       // ich pruefe zusaetzlich noch das Verzeichnis der Dateien ab
			if (($obj->ParentID == 161) && ($obj->Extension == '.less') && ($obj->parseFile == false)) {
				$aMasterIDs = array(4,135);
				foreach($aMasterIDs as $iID) {
					$masterfile = new we_textDocument();
					$masterfile->initByID($iID);
					$masterfile->we_save(false, true);
				}
			}
		break;
		}

	}

Re: master.less speichern

Verfasst: Fr 30. Jan 2015, 18:37
von mokraemer
wenn man so oft Änderungen macht, muß man (aktuell) noch die Hauptdatei ebenfalls speichern. Das erledigt sich mit 6.5.

Re: master.less speichern

Verfasst: Fr 30. Jan 2015, 18:46
von ThomasGoebe
mokraemer hat geschrieben:wenn man so oft Änderungen macht, muß man (aktuell) noch die Hauptdatei ebenfalls speichern.
Und genau dafür gibt es den Hook.
mokraemer hat geschrieben:Das erledigt sich mit 6.5.
Inwiefern (Bugbase ID dazu reicht mir) ?

Re: master.less speichern

Verfasst: Fr 30. Jan 2015, 19:56
von mokraemer
#8240

Re: master.less speichern

Verfasst: Fr 13. Feb 2015, 00:38
von dipser
Bombe! Danke ThomasGoebe. Das muss ich morgen gleich einmal testen.

Ich hatte das Thema aus den Augen verloren und jetzt immer alles in die master.less geschrieben und erst später ausgelagert.