Nel tentativo di tenere i miei script mantenibile, ho intenzione di spostare ogni nelle loro file, organizzata dal regolatore e l'azione:L'aggiunta di specifiche pagine Javascript per ogni vista in CakePHP
// scripts which only apply to /views/posts/add.ctp
/app/webroot/js/page/posts/add.js
// scripts which only apply to /view/users/index.ctp
/app/webroot/js/page/users/index.js
Questo è tutto fresco , tuttavia, vorrei che questi vengano aggiunti automaticamente dal Controller, poiché ovviamente conosce il nome sia del controller che dell'azione.
Immagino che il posto migliore per questo sia in AppController::beforeRender()
. (sì?)
L'unico problema è che non so come aggiungerlo effettivamente alla variabile $scripts_for_layout
. Ho pensato che ottenere un riferimento all'oggetto helper funzionasse, ma non riesco a trovarlo dal controller!
class AppController extends Controller {
var $helpers = array("javascript", "html", "form");
function beforeRender() {
// ???
}
}
+1 per approccio pulito e comprensione. 'APP.WEBROOT_DIR.DS' può essere sostituito con la costante' WWW_ROOT'. – deizel
Un buon punto, dovrebbe essere meno incline agli errori quando si modifica anche la struttura della directory. Lo ha cambiato :) – deceze
deceze ... sul serio ... sei come l'unico guru della torta in SO, lo giuro. Nelle ultime 3 settimane devo averti dato 400 replicati. :) – nickf