FuseBox 5.5 Noxml Nome della cartella Problemi
-
27-10-2019 - |
Domanda
Ho problemi con FuseBox 5.5 NOXML e circuiti ...
Ho una struttura che assomiglia a questa.
controller
app.cfc
model
main
act_comm_main.cfm
monkey
act_something_else.cfm
view
main
dsp_comm_main.cfm
monkey
dsp_somethingElse.cfm
Nel file app.cfc ho questo:
<cffunction name="postfuseaction">
<cfargument name="myFusebox" />
<cfargument name="event" />
<!--- do the layout --->
<cfset myFusebox.do( action="layout.lay_template" ) />
</cffunction>
<cffunction name="main">
<cfargument name="myFusebox" />
<cfargument name="event" />
<!--- do model fuse --->
<cfset myFusebox.do( action="moneky.act_somethingElse" ) />
<!--- do model fuse --->
<cfset myFusebox.do( action="main.act_comm_main" ) />
<!--- do display fuse and set content variable body --->
<cfset myFusebox.do( action="main.dsp_comm_main", contentvariable="body" ) />
</cffunction>
</cfcomponent>
Questo non funziona. Ma se lo cambio per avere la cartella di visualizzazione denominata: MainPages Quindi e quindi modificare CFSET MyFuseBox. fare per guardare a mainpages.dsp_comm_main (viene fuori) ma nell'istanza sopra mi dà questo errore:
FUSEAZIONE UNDEFINATA
È stato specificato un fususeaction di dsp_comm_main che non è definito nel circuito principale.
Rimuovo i file analizzati e lascia che FuseBox ricostruisca ma ricevo ancora questo errore.
Quindi so come aggirarlo nominando le mie directory diverse tra le cartelle del modello e di visualizzazione, ma perché sta accadendo e cosa posso fare per risolvere le stesse directory nominate attraverso la vista del modello?
Soluzione
Questo perché nei modelli FuseBox e le viste sono solo una convenzione per implementare MVC. Tecnicamente non importa solo un circuito, esplicito o implicito.
Il nome del circuito deve essere univoco all'interno dell'applicazione, quindi è necessario nominare le cartelle in modo diverso.
Personaly Ho usato la denominazione come vMain/mMain
, vMonkey/mMonkey
Per app più complesse con molti circuiti di visualizzazione. Per app più semplici potrebbe essere sufficiente per avere layout
e display
Visualizza i circuiti, in questo modo i modelli possono essere nominati senza prefisso.