Hook zum Aufrufen einer Datei
Re: Hook zum Aufrufen einer Datei
Ich denke der Ansatz ist af jeden Fall einen FR wert, die Kategorien sind sehr mächtig, aber z.T. von der Usability nicht mehr zeitgemäß.
Re: Hook zum Aufrufen einer Datei
Ein gutes Neues Jahr.
Wie versprochen darf ich mich nochmals melden.
Ich habe den Hook mit dem entsprechenden Dateinamen gespeichert.
Ich habe nun ausprobiert, in den Kategorien werden die Werte nicht gespeichert, es werden dafür aber 2 Fehlermeldungen ausgegeben, siehe weiter unten.
Darf ich nochmals um Hilfe bitten, danke
Matze
Fehlermeldung 1:
Die zweite Fehlermeldung:
Wie versprochen darf ich mich nochmals melden.
Ich habe den Hook mit dem entsprechenden Dateinamen gespeichert.
Ich habe nun ausprobiert, in den Kategorien werden die Werte nicht gespeichert, es werden dafür aber 2 Fehlermeldungen ausgegeben, siehe weiter unten.
Darf ich nochmals um Hilfe bitten, danke
Matze
Fehlermeldung 1:
Code: Alles auswählen
Warning
Error message: Illegal string offset 'resave'
Script name: webEdition/custom/hook/we_hook_preSave.class.php
Line number: 29
Backtrace:
#0 we_base_errorHandler::errorHandler called at [webEdition/custom/hook/we_hook_preSave.class.php:29]
#1 we_hook_preSave->__construct called at [webEdition/we/classes/hook/we_hook_handler.class.php:60]
#2 we_hook_handler->__construct called at [webEdition/we/classes/document/we_document_textContent.class.php:173]
#3 we_document_textContent->we_save called at [webEdition/we/classes/document/we_document_webEdition.class.php:578]
#4 we_document_webEdition->we_save called at [webEdition/we/classes/editor/we_editor_functions.class.php:601]
#5 we_editor_functions::saveDocument called at [webEdition/we_cmd.php:177]
#6 findInclude called at [webEdition/we_cmd.php:418]
Request:
[we_cmd] => Array
(
[0] => save_document
[1] => 45c18fc937482de8f097689585341bd3
[2] => 0
[3] => 1
[4] => 0
[5] => W1sicHVibGlzaFdoZW5TYXZlIl1d
[6] =>
)
[we_transaction] => 45c18fc937482de8f097689585341bd3
[we_fac3dae91ef03ebfbc36583fdd852950_select] => Array
(
[doccats#multiple] => Array
(
[0] => 3
[1] => 2
[2] => 4
)
)
[we_fac3dae91ef03ebfbc36583fdd852950_txt] => Array
(
[myue] =>
[leer] =>
)
[we_complete_request] => 1
Die zweite Fehlermeldung:
Code: Alles auswählen
Error type:
Warning
Error message:
Use of undefined constant param - assumed 'param' (this will throw an Error in a future version of PHP)
Script name:
webEdition/custom/hook/we_hook_preSave.class.php
Line number:
29
Re: Hook zum Aufrufen einer Datei
Hallo
kann ich vielleicht noch etwas beisteuern, damit eine Lösung gefunden werden könnte?
Matze
kann ich vielleicht noch etwas beisteuern, damit eine Lösung gefunden werden könnte?
Matze
Re: Hook zum Aufrufen einer Datei
Moin Matze, eventuell ist das als Bugeintrag mit vollständigen Errorlogs besser aufgehoben.
https://qa.webedition.org
https://qa.webedition.org
Re: Hook zum Aufrufen einer Datei
nein, das ist kein Bug.
Das ist ein FR, und es sollte hier ein Diskussionsbeitrag über dessen Relevanz gemacht werden.
Ich hatte ja das grundsätzliche Gerüst gepostet, aber nicht getestet. Hab aber auch grad keinen Kopf dafür.
Das ist ein FR, und es sollte hier ein Diskussionsbeitrag über dessen Relevanz gemacht werden.
Ich hatte ja das grundsätzliche Gerüst gepostet, aber nicht getestet. Hab aber auch grad keinen Kopf dafür.
webEdition-Kern-Entwickler
Re: Hook zum Aufrufen einer Datei
Okay, dann entsprechend formuliert als FR hier im Forum
Re: Hook zum Aufrufen einer Datei
Hallo Leute.
Ich wollte nicht unhöflich sein, aber ich denke das Forum ist doch dazu da, Lösungen zu finden.
Ich habe nach meinem Können probiert nachzuvollziehen, wieso dieses Script nicht funktioniert. Da die Fehler und teile des WE Codes sind, dachte ich mir, ich frage nochmals nach.
Es gibt hier im Forum eine Demo einer der alten WE Version, wenn jemand etwas Neueres zu bieten kann, wäre mir halt sehr geholfen.
Schönes Weekend
Matze
Ich wollte nicht unhöflich sein, aber ich denke das Forum ist doch dazu da, Lösungen zu finden.
Ich habe nach meinem Können probiert nachzuvollziehen, wieso dieses Script nicht funktioniert. Da die Fehler
Code: Alles auswählen
Illegal string offset 'resave'
Code: Alles auswählen
Undefined constant param assumed 'param'
Es gibt hier im Forum eine Demo einer der alten WE Version, wenn jemand etwas Neueres zu bieten kann, wäre mir halt sehr geholfen.
Schönes Weekend
Matze
Re: Hook zum Aufrufen einer Datei
Hab euch für die Mühen trotzdem mal eine Spende zukommen lassen.
-
- webEdition Partner
- Beiträge: 1825
- Registriert: Di 7. Mär 2006, 16:50
- Wohnort: Wien
- Kontaktdaten:
Re: Hook zum Aufrufen einer Datei
Hallo Matze,
Ich denke du musst folgende Codezeile tauschen:
HTH,
Sascha
Ich denke du musst folgende Codezeile tauschen:
Code: Alles auswählen
- $this->resave = param['resave'];
+ $this->resave = $params['resave'];
Sascha
Re: Hook zum Aufrufen einer Datei
Danke Sascha.
Die Fehlermeldungen sind weg.
Aber es werden keine Änderungen vorgenommen.
Hier nochmals der Code we_hook_preSave.class.php ich habe auch die Datei we_hook_publish.class.php angelegt.
Für Hilfe, hier liegt auch zur Sicherheit mein Template Code
In tblContent stehen genau die IDs der ausgewählten Kategorien:
tblFile 8 txt doccats NULL 6,9,8,7,3,2
Weiss noch jemand Rat?
Matze
Die Fehlermeldungen sind weg.
Aber es werden keine Änderungen vorgenommen.
Hier nochmals der Code we_hook_preSave.class.php ich habe auch die Datei we_hook_publish.class.php angelegt.
Code: Alles auswählen
<?php
declare(strict_types=1);
class we_hook_preSave extends we_hook_base{
protected $resave;
protected $object;
public function __construct(we_hook_handler $handler, array $params){
parent::__construct($handler, $params);
$this->resave = $param['resave'];
$this->object = $params['obj'];
}
public function execute(): bool{
if($this->resave){//rebuild brauch nix gemacht zu werden
return true;
}
switch(get_class($this->object)){
case 'we_webEditionDocument':
$new_categories = $this->object->getElements('doccats'); // Die ausgewählten Kategorien liegen in doccats
$this->object->temp_category = $new_categories;
$this->object->Category = $new_categories;
$static = "123456";
$this->object->newstatic = $static;
$newleer = $this->object->getElements('myue');
$this->object->leer = $newleer;
}
return true;
}
}
Code: Alles auswählen
Kategorien gewählt/alle anzeigen:<br>
<we:listview type="category" order="Title" desc="false" >
<we:ifFound>
<we:select name="doccats" multiple="true" class="my-select-big" style="height: 500px!important;">
<we:repeat>
<option value='<we:field name="we_id"/>'><we:field name="we_title"/></option>
</we:repeat>
</we:select>
</we:ifFound>
</we:listview>
<hr>
Variable doccats ausgeben = <we:var type="document" name="doccats" />
<hr>
KatIDs des Dokuments: <we:category field="ID" multiple="true" /> <br>
KatTitle des Dokuments: <we:category field="Title" multiple="true" /><br>
<hr>
myue = <we:input type="text" name="myue" /> <br>
leer = <we:input type="text" name="leer" /> <br>
new-static = <we:input type="text" name="newstatic" />
In tblContent stehen genau die IDs der ausgewählten Kategorien:
tblFile 8 txt doccats NULL 6,9,8,7,3,2
Weiss noch jemand Rat?
Matze
Re: Hook zum Aufrufen einer Datei
hast du denn den FR im Forum zur Diskussion gestellt? Das dies ein Kernfeature wird?
viewtopic.php?t=42257
Wenn man Hooks einsetzt, sollte man sich ansich auch etwas mit PHP/WE intern auskennen. Das ist eben eine interne Schnittstelle.
viewtopic.php?t=42257
Wenn man Hooks einsetzt, sollte man sich ansich auch etwas mit PHP/WE intern auskennen. Das ist eben eine interne Schnittstelle.
webEdition-Kern-Entwickler
Re: Hook zum Aufrufen einer Datei
Hallo
Ich darf mich in diese Diskussion einmischen. Den Gedankengang finde ich recht interessant, da auch ich viele Kategorien habe.
Funktioniert der Hook nun zuverlässig, bzw. könnte Jemand den fertigen Code nochmals posten?
Danke
Maurus
Ich darf mich in diese Diskussion einmischen. Den Gedankengang finde ich recht interessant, da auch ich viele Kategorien habe.
Funktioniert der Hook nun zuverlässig, bzw. könnte Jemand den fertigen Code nochmals posten?
Danke
Maurus
Re: Hook zum Aufrufen einer Datei
Eben deshalb frage ich hier ja um Hilfe und ich dachte dafür ist dieses Forum da.Wenn man Hooks einsetzt, sollte man sich ansich auch etwas mit PHP/WE intern auskennen. Das ist eben eine interne Schnittstelle.
Re: Hook zum Aufrufen einer Datei
Im Grunde ja, nur sollten Hooks von ehesten von Leuten verwendet werden, die php verstehen und sich auch etwas mit den internas von WE auskennen.Eben deshalb frage ich hier ja um Hilfe und ich dachte dafür ist dieses Forum da.
Ich kann nur Wiederholen, das du dies als Feature-Request im Forum einstellen solltest, damit darüber diskutiert wird, ob wir das als Feature realisieren und was andere davon halten.
webEdition-Kern-Entwickler
-
- webEdition Partner
- Beiträge: 1825
- Registriert: Di 7. Mär 2006, 16:50
- Wohnort: Wien
- Kontaktdaten:
Re: Hook zum Aufrufen einer Datei
Hallo Matze,
Hier im Forum wird tendenziell sehr viel geholfen. Um dein konkretes Problem zu testen und zu beheben müsste das jetzt aber jemand erst mal nachbauen. Das kostet Zeit und verursacht nicht unerheblichen Aufwand. Fakt ist, es können hier einfach nicht für alle Probleme kostenfreie Lösungen gefunden werden. Dafür gibt es dann eben Firmen und Leute die das professionell anbieten, z.B. webEdition Partner (sh. https://www.webedition.org/de/partner/).
Liebe Grüße,
Sascha
PS: Was mir jetzt doch noch ins Auge gesprungen ist: "$param['resave'];" sollte "$params['resave'];" heißen.
Hier im Forum wird tendenziell sehr viel geholfen. Um dein konkretes Problem zu testen und zu beheben müsste das jetzt aber jemand erst mal nachbauen. Das kostet Zeit und verursacht nicht unerheblichen Aufwand. Fakt ist, es können hier einfach nicht für alle Probleme kostenfreie Lösungen gefunden werden. Dafür gibt es dann eben Firmen und Leute die das professionell anbieten, z.B. webEdition Partner (sh. https://www.webedition.org/de/partner/).
Liebe Grüße,
Sascha
PS: Was mir jetzt doch noch ins Auge gesprungen ist: "$param['resave'];" sollte "$params['resave'];" heißen.
Wer ist online?
Mitglieder in diesem Forum: Ahrefs [Bot] und 3 Gäste