Ich habe ein paar Fragen über CakePHP, ich verbrachte lange Zeit Googeln für eine Lösung und da ich keine gefunden habe, bin ich mir nicht sicher, ob ich den richtigen Ansatz nehme.CakePHP Helfer und i18n
So habe ich ein Menü/Sitemap, die einen Teil statisch (xml-Datei - i10n) und Teil dynamisch (Datenbank i18n)
Ich bin gebeten worden, um das Menü zu cachen, so dass:
A-Komponente erstellt eine Cache-xML-Datei des gesamten Menüs für jede Sprache, wenn es nicht
ein Helfer erstellt aus der xML-Datei aus der Komponente
erstellt formatiert einen Cache html existiert
Das Layout verwendet die Helfer das Menü in der Seite
Fragen hinzufügen:
Wie bekomme ich die Liste der verfügbaren Sprachen aus dem Helfer und von der Komponente?
Ist der
$this->L10n = new L10n(); $this->L10n->lang
der richtige Weg, um die tatsächliche Sprache zu bekommen?
Wenn ich die Helfer/Komponente in dem app_controller importieren, anstatt sie in jedem Controller
class AppController extends Controller { var $components = array('menu', 'otherComponent'); var $helpers = array('menuCache'); function beforeFilter(){ $this->menu->doSomething(); } }
ich ein call to undefined object $html
für die echo $html->charset();
im Layout erhalte eingeben
kann nicht verstehen, warum ...
Ich weiß nicht über das L10n Problem, aber der Grund, warum Sie den "undefinierten $ html" bekommen, ist, weil Sie $ helpers = array ('menuCache') geschrieben haben; Standardmäßig stellt cake HtmlHelper ebenfalls dort hin, Sie müssen es auch tun (und Javascript und andere, die Sie verwenden). h. $ helpers = array ('Html', 'Javascript', 'menuCache', etc ...); –