Module wirklich immer noch von Hand synchronisieren?

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
CinKon
Beiträge: 129
Registriert: Do 9. Okt 2008, 09:13
Wohnort: Leipzig
Kontaktdaten:

Module wirklich immer noch von Hand synchronisieren?

Beitrag von CinKon » Do 15. Aug 2013, 14:50

Hallo,

ich habe dazu noch keinen Beitrag gefunden, frage mich aber trotzdem, ob ich die neue Administration der Module richtig verstanden habe.

Ich nahm bisher an, dass Module nur noch in Dateien ausgelagert werden, nichtmehr in der Datenbank. Das war eigentlich auch die Funktion, auf die ich mich am meissten mit der 4.9 gefreut habe, weil es die Programmierung erheblich beschleunigen würde. Allerdings muss ich beim ersten Testen feststellen, dass Änderungen an den Modul-PHP-Dateien erst übernommen werden, wenn man die Module erneut synchronisiert. Das macht in meinen Augen einen großen Vorteil dieser Methode hinfällig.

Oder ist das lediglich ein Bug, oder eine fehlende Einstellung, und es ist doch so angedacht, dass die Module nicht jedesmal synchronisiert werden müssen?

Schöne Grüße

Lars
"Marty, du musst VIERDIMENSIONAL denken!" - Doc Brown

timo.trautmann_4fb
Beiträge: 472
Registriert: Di 15. Apr 2008, 15:57
Wohnort: Michelstadt
Kontaktdaten:

Re: Module wirklich immer noch von Hand synchronisieren?

Beitrag von timo.trautmann_4fb » Do 15. Aug 2013, 14:56

Hallo CinKon,
wenn du Code von Modulen in den PHP Dateien änderst wirkt sich dieser ohne Sync direkt auf deiner Webseite aus. Du benötigst den Sync Button nur, wenn du ein Modul außerhalb von CONTENIDO erstellt hast und willst, dass CONTENIDO dieses verwendet.
Ich vermute hier du hast den Code Cache aktiv, der sich bei der Entwicklung nicht empfieht. Im Mandantenordner unter data/config in der config.php $force auf 1 stellen oder als Parameter in die URL Packen. Oder im Mandantenordner unter cache/code alle Dateien löschen.

Gruß Timo

CinKon
Beiträge: 129
Registriert: Do 9. Okt 2008, 09:13
Wohnort: Leipzig
Kontaktdaten:

Re: Module wirklich immer noch von Hand synchronisieren?

Beitrag von CinKon » Do 15. Aug 2013, 14:59

Code-Cache wars!!! Klasse, vielen Dank! Das hat meine Freude über die neue Version gerettet ;)
"Marty, du musst VIERDIMENSIONAL denken!" - Doc Brown


CinKon
Beiträge: 129
Registriert: Do 9. Okt 2008, 09:13
Wohnort: Leipzig
Kontaktdaten:

Re: Module wirklich immer noch von Hand synchronisieren?

Beitrag von CinKon » Do 15. Aug 2013, 15:21

Habe in dem Zusammenhang allerdings trotzdem noch einen bösen Bug festgestellt.
Synchronisiert man die Module, und benennt sie dann über das Backend um (um sie übersichtlicher zu gestalten), wird der komplette Code mit "\" zerhauen.

Vorher:

Code: Alles auswählen

<?php

/**
 * description: main navigation
 *
 * @package Module
 * @subpackage NavigationMain
 * @version SVN Revision $Rev:$
 *
 * @author marcus.gnass@4fb.de
 * @copyright four for business AG <www.4fb.de>
 * @license http://www.contenido.org/license/LIZENZ.txt
 * @link http://www.4fb.de
 * @link http://www.contenido.org
 */

// assert framework initialization
defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');

// get client settings
$rootIdcat = getEffectiveSetting('navigation_main', 'idcat', 1);
$depth = getEffectiveSetting('navigation_main', 'depth', 3);

// get category tree
$categoryHelper = cCategoryHelper::getInstance();
$categoryHelper->setAuth(cRegistry::getAuth());
$tree = $categoryHelper->getSubCategories($rootIdcat, $depth);

// get path (breadcrumb) of current category
function navigation_main_filter(cApiCategoryLanguage $categoryLanguage) {
    return $categoryLanguage->get('idcat');
}
$path = array_map('navigation_main_filter', $categoryHelper->getCategoryPath(cRegistry::getCategoryId(), 1));

// use template to display navigation
$tpl = cSmartyFrontend::getInstance();
$tpl->assign('ulId', 'navigation');
$tpl->assign('tree', $tree);
$tpl->assign('path', $path);
$tpl->display('get.tpl');

?>
Nachher:

Code: Alles auswählen

<?php

/**
 * description: main navigation
 *
 * @package Module
 * @subpackage NavigationMain
 * @version SVN Revision $Rev:$
 *
 * @author marcus.gnass@4fb.de
 * @copyright four for business AG <www.4fb.de>
 * @license http://www.contenido.org/license/LIZENZ.txt
 * @link http://www.4fb.de
 * @link http://www.contenido.org
 */

// assert framework initialization
defined(\'CON_FRAMEWORK\') || die(\'Illegal call: Missing framework initialization - request aborted.\');

// get client settings
$rootIdcat = getEffectiveSetting(\'navigation_main\', \'idcat\', 1);
$depth = getEffectiveSetting(\'navigation_main\', \'depth\', 3);

// get category tree
$categoryHelper = cCategoryHelper::getInstance();
$categoryHelper->setAuth(cRegistry::getAuth());
$tree = $categoryHelper->getSubCategories($rootIdcat, $depth);

// get path (breadcrumb) of current category
function navigation_main_filter(cApiCategoryLanguage $categoryLanguage) {
    return $categoryLanguage->get(\'idcat\');
}
$path = array_map(\'navigation_main_filter\', $categoryHelper->getCategoryPath(cRegistry::getCategoryId(), 1));

// use template to display navigation
$tpl = cSmartyFrontend::getInstance();
$tpl->assign(\'ulId\', \'navigation\');
$tpl->assign(\'tree\', $tree);
$tpl->assign(\'path\', $path);
$tpl->display(\'get.tpl\');

?>
"Marty, du musst VIERDIMENSIONAL denken!" - Doc Brown

Antworten