2010-04-26 7 views
2

OK, je travaille avec la conversion de PHP très basique en port vers un serveur de dev où le client n'a que CF. Ive jamais travaillé avec elle, et je dois juste savoir comment porter une ou deux choses:Port de PHP à ColdFusion

<?php 
     $pageTitle = 'The City That Works'; 
     $mainCSSURL = 'header_url=../images/banner-home.jpg&amp;second_color=484848&amp;primary_color=333&amp;link_color=09c&amp;sidebar_color=f2f2f2'; 
     require('includes/header-inc.php'); 
?> 

Je sais:

<cfinclude template="includes/header-inc.cfm"> 

mais comment j'obtenir le var à passer à l'inclure et alors comment l'utiliser sur le fichier inclus suivant?

aussi dans mon CSS (main.php) J'ai (en haut):

<?php 
    header('Content-type: text/css'); 
    foreach($_GET as $css_property => $css_value) {define(strtoupper($css_property),$css_value);} 
?> 

et im en utilisant ces constantes comme ceci:

#main-content a {color:#<?= LINK_COLOR ?>;} 

Comment puis-je obtenir que le travail aussi avec CF?

n'a jamais pensé que je travaillerais avec CF :)

Répondre

3

Coldfusion a un certain nombre de champs variables qui ont différents niveaux de visibilité.

Je ne connais pas trop PHP, mais je devine que ces déclarations de variables sont disponibles pour n'importe quel code dans la requête?

L'équivalent de ceci est l'étendue 'request'.

Toutes les variables définies dans la portée de la demande sont disponibles pour tout code dans le traitement de la demande.

Pour définir une variable dans le périmètre de la requête, vous faites simplement:

<cfset request.myVariable = myValue> 

Ou, en cfscript:

request.myVariable = myValue; 

L'autre champ le plus utilisé est le champ 'variables'. Ceci est la portée par défaut si vous ne spécifiez pas de portée, donc:

<cfset myVariable = myValue> 

est équivalent à

<cfset variables.myVariable = myValue> 

La portée des variables est visible au code inclus avec cfinclude, donc dans votre cas, vous pouvez utiliser la portée des variables ou la portée de la demande.

est ici une référence au Scopes dans les FC:

http://livedocs.adobe.com/coldfusion/8/htmldocs/Variables_30.html

+0

, je crois bien travailler des thats, mais comment puis-je utiliser la variable? $ var = 'cat'; echo $ var; cracherait chat. Comment obtenir "pageTitle" pour imprimer? –

+0

inside includes/header-inc.cfm: # pageTitre # Henry

+1

Henry

2

Dans CF le tableau $ _GET devient la struct url. Pour passer en boucle à travers elle vous utilisez cfloop:

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_j-l_16.html#2393950

<cfoutput> 
<ul> 
<cfloop collection = #url# item = "key"> 
<li>#key# = #url[key]#</li> 
</cfloop> 
</ul> 
</cfoutput> 
+0

Parfait, fonctionnel, mais un problème, pourquoi est-il en sortie? Je ai juste ceci: \t # clé # = # url [clé] # (qui fonctionne, sauf sa sortie # clé # = ... etc) pour chaque GET param –

+0

De plus, y a-t-il un moyen plus facile de sortir # link_color #? Comme un moyen plus court? –

+0

wait, nvm, il prend automatiquement l'URL ?! attr? Semble dangereux;) mais im juste en utilisant pour CSS –