2017-09-27 4 views
1

Ich bin neu bei OctoberCMS, also weiß ich nicht viele Dinge. Ich lese die Dokumentation Oktober und ich weiß, wie Variablen zu übergeben, wenn partials in der statischen Art und Weise unter Verwendung von:Kann ich PHP-Variablen übergeben, wenn eine partielle?

{% partial "location" city="Vancouver" country="Canada" %} 

Mein Problem ist, dass ich verwenden, PHP oder js Variablen. Angenommen, ich habe ein Eingabefeld, in das der Benutzer eine ID schreibt, und nach dem Drücken einer Taste möchte ich die ID an eine Teilnummer übergeben. Ich versuche so etwas zu tun:

{% partial "location" city=$city country=$country %} 

Kann mir jemand helfen? Vielen Dank.

Antwort

0

Haben Sie diese Methode wie hier dokumentiert versucht? https://octobercms.com/docs/cms/partials#partial-variables

{% partial "location" city=city country=country %} 

EDIT

Als Nebenwirkung, müssen Sie Ihre Seite Variablen in der onStart Funktion definieren.

url = "/blah" 
layout = "default" 
== 
<? 
function onStart() 
{ 
    $this['country'] = ...; 
    $this['city'] = ...; 
} 
?> 
== 
{% partial "location" city=city country=country %} 

EDIT

Haben Sie den Abschnitt über AJAX lesen? https://octobercms.com/docs/ajax/introduction

Genauer gesagt - https://octobercms.com/docs/ajax/update-partials#pushing-updates UND https://octobercms.com/docs/ajax/update-partials#update-definition

EDIT

einfach Ihre ursprüngliche Frage erneut lesen und Sie fragen, um Bindeelemente zu bilden, nicht AJAX.

einen Blick auf die JS-API Take - https://octobercms.com/docs/ajax/javascript-api#javascript-api

denke ich, Sie so etwas wie tun könnte:

<form onsubmit="$(this).request('onMyProcessingMethod'); return false;">

$('form').request('onMyProcessingMethod', { 
    update: {myPartialName: '.whereIWantTheOutputToGo'}, 
    data: {country: 'Canada'} // Not 100% sure how to access form input; maybe ID selector 
}) 
+0

Ja, aber Land sollte in diesem Fall eine Zweigvariable sein und ich weiß nicht, wie man sie benutzt, versuchte ich aber ohne Ergebnisse. –

+0

Laut dem Blog unten auf dieser Seite ("Zugriffslogik" - https://oktobercms.com/docs/markup/templating) sollte Twig auf PHP-Variablen zugreifen können; ohne das Dollarzeichen natürlich. – waterloomatt

+0

Kurz bevor Sie Ihren Teil aufrufen, versuchen Sie eine Variable auszugeben und sehen, ob sie angezeigt wird - {{country}} – waterloomatt

0

Sie können auf diese Weise in den Teil Variablen verwenden:

<p>Country: {{ country }}, city: {{ city }}.</p> 
+0

Ja, aber das OP muss die Variablen an die teilweise übergeben, bevor er dort zugreifen kann. – waterloomatt

+0

Es gibt eine dedizierte Funktion onStart(), die uns hilft, Variablen zu definieren, bevor das Skript auf sie zugreifen kann. –

Verwandte Themen