Ich habe ein extrem nerviges und un-sinnliches Problem, bist du vorbereitet? : XVariable von .CTP-Ansicht auf .JS setzen
Ok, gehen wir:
Actualy Ich habe eine bestimmte Software in 4 Umgebungen eingesetzt: Entwicklung, Zertifizierung, Vorproduktion und Produktion.
Gestern habe ich einen Fehlerbericht in der Produktionsumgebung erhalten.
Thing ist, wenn ich versuche, eine Javascript-Variable von meinem .ctp zu meinem .js zu setzen, kann meine .js nicht auf diese Variable zugreifen, so dass der "Satz" nicht getan wird. Das Seltsame ist, dass das in anderen Umgebungen (DES, CERT und PRE) perfekt funktioniert, aber in PRO (für eine gewisse Kasuistik versagt es).
Sketching das Problem:
translate.ctp
<?php $translations = array(); $translations['NO_DATA']=__('NODATA'); $translations['VALUE']=__('VAL'); $translations['WEBROOT'] = $this->webroot; $this->Js->set('translations',$translations); // <-- prepare 'translations' into JS as window.app.translations echo $this->Js->writeBuffer(array('onDomReady' => false)); // sets the variable 'translations' into the javascript (I only use writeBuffer once in this code and project) ?>
default.ctp
... Header, Skript lädt und so ...
<?php echo $this->element('translate');?> // loads translations ctp
<?php echo $this->fetch('script'); ?>
main.js
$(document).ready(function() { // window.app doesn't exists so the following instruction will trigger an error: var translatedNoData = window.app.translations['NO_DATA']; }
Vielen Dank Jungs, ich die Informationen über Hoffnung ist genug.