master.less speichern ab Barrhorn
Verfasst: Fr 5. Feb 2021, 11:23
Hi, habe versucht einen alten Hook der bei uns immer im Einsatz war für die Barrhorn Version umzuschreiben.
Jedoch greift der Hook nicht..
Durch den Hook soll die master.less Datei mitgespeichert werden, sobald an einer .less Datei etwas geändert wird.
Alter Hook (funktionierte bis Barrhorn):
Neuer Hook:
Mit freundlichen Grüßen
Oliver
Jedoch greift der Hook nicht..
Durch den Hook soll die master.less Datei mitgespeichert werden, sobald an einer .less Datei etwas geändert wird.
Alter Hook (funktionierte bis Barrhorn):
Code: Alles auswählen
<?php
function weCustomHook_save($param){
$hookHandler = $param['hookHandler'];
$resave = $param['resave'];
$obj = $param[0];
switch(get_class($obj)){
// Mitspeichern der Master-Datei, bei Speicherung von Less/SCSS-Dateien aus den Ordnern $lesspath
case 'we_textDocument':
$parentpath = array(0); // <= IDs aller Elternordner
if ( in_array($obj->ParentID, $parentpath) && in_array($obj->Extension, array('.less','.scss')) ) {
$aMasterIDs = array(0); // <= ID der master.less, master.scss
foreach($aMasterIDs as $iID) {
$masterfile = new we_textDocument();
$masterfile->initByID($iID);
$masterfile->we_save(false, true); // we_save() kann die beiden Parameter $resave und $skipHook verarbeiten. durch das $skipHook=true wird eine Endlosschleife verhindert
}
}
break;
}
}
?>
Code: Alles auswählen
<?php
declare(strict_types=1);
class we_customhook_shrink extends we_hook_base{
/** @var we_document_base */
protected $obj;
/** @var bool */
protected $resave;
public function __construct(we_hook_handler $handler, array $params){
parent::__construct($handler, $params);
$this->resave = $params['resave'];
$this->obj = $params['obj'];
}
public function execute(): bool{
switch(get_class($this->obj)){
// Mitspeichern der Master-Datei, bei Speicherung von Less/SCSS-Dateien aus den Ordnern $lesspath
case 'we_document_text':
$parentpath = array(0); // <= IDs aller Elternordner
if(in_array($this->obj->ParentID, $parentpath) && in_array($this->obj->Extension, array('.less', '.scss'))) {
$masterIDs = array(0); // <= ID der master.less/master.scss
foreach($masterIDs as $id){
$masterfile = new we_document_text();
$masterfile->initByID($id);
$masterfile->we_save(false, true); // we_save() kann die beiden Parameter $resave und $skipHook verarbeiten. durch das $skipHook=true wird eine Endlosschleife verhindert
}
}
break;
}
return true;
}
}
Oliver