Inhaltsverzeichnis
回复讨论(解决方案)
Heim Backend-Entwicklung PHP-Tutorial smarty模板中,js中怎么嵌套foreach或section循环?

smarty模板中,js中怎么嵌套foreach或section循环?

Jun 23, 2016 pm 01:50 PM
foreach js smarty 嵌套 模板

这是静态页。

          <script>                                     var box =new PPTBox();                                     box.width = 1250; //宽度                                     box.height = 490;//高度                                     box.autoplayer = 3;//自动播放间隔时间                                     //box.add({"url":"图片地址","title":"悬浮标题","href":"链接地址"})                                     box.add({"url":"images/tu1.jpg","title":"悬浮提示标题1"});                                     box.add({"url":"images/tu2.jpg","title":"悬浮提示标题2"});                                     box.add({"url":"images/tu3.jpg","title":"悬浮提示标题3"});                                     box.add({"url":"images/tu4.jpg","title":"悬浮提示标题4"});                                     box.show();                                </script>
Nach dem Login kopieren


用smarty循环,实现这样
{literal}                                 <script>                                     var box =new PPTBox();                                     box.width = 1250; //宽度                                     box.height = 490;//高度                                     box.autoplayer = 3;//自动播放间隔时间                                     //box.add({"url":"图片地址","title":"悬浮标题","href":"链接地址"})	{foreach item=lop from=$tuan }        box.add({"url":"./upload/admin/{$lop.image}","title":"{$lop.title}"});	{/foreach}        box.show();                                </script>
Nach dem Login kopieren


回复讨论(解决方案)

就和在网页上的一样,最好改一下定界符“{<”

可以在php里面用json_encode 转化为json后再传给smarty , js 解析json输出就简单多了。

{foreach item=lop from=$tuan }
box.add({"url":"./upload/admin/{$lop.image}","title":"{$lop.title}"});
{/foreach}

这个循环可以通过php来封装,将值传到模板即可。

{foreach item=lop from=$tuan }
box.add({"url":"./upload/admin/{$lop.image}","title":"{$lop.title}"});
{/foreach}

这个循环可以通过php来封装,将值传到模板即可。


此言有理。要么通过php来封装,将值传到模板即可;要么通过js函数来封装,将值传到模板,确定是否执行此函数。

可以在php里面用json_encode 转化为json后再传给smarty , js 解析json输出就简单多了。


大哥,没用过json_encode,json,任务有点赶。帮人帮到底,写点具体的代码,谢谢!

例子,自行改下就行。

var json='[{"id":12,"name":"aa"},{"id":13,"name":"bb"}]';  // json对象来自php的json_encode var obj=eval(json) for(var i=0; i<obj.length; i++)  {      document.write(obj[i].id+" " + obj[i].name);  }
Nach dem Login kopieren
Nach dem Login kopieren

三楼的方法我感觉可行

例子,自行改下就行。

var json='[{"id":12,"name":"aa"},{"id":13,"name":"bb"}]';  // json对象来自php的json_encode var obj=eval(json) for(var i=0; i<obj.length; i++)  {      document.write(obj[i].id+" " + obj[i].name);  }
Nach dem Login kopieren
Nach dem Login kopieren


<script>                                     var box =new PPTBox();									 var json='[{"url":"images/tu1.jpg","title":"悬浮提示标题1"},{"url":"images/tu2.jpg","title":"悬浮提示标题1"},{"url":"images/tu3.jpg","title":"悬浮提示标题1"},{"url":"images/tu4.jpg","title":"悬浮提示标题1"}]';									 var obj=eval(json)                                     box.width = 1250; //宽度                                     box.height = 490;//高度                                     box.autoplayer = 3;//自动播放间隔时间                                     //box.add({"url":"图片地址","title":"悬浮标题","href":"链接地址"})									 for(var i=0; i<obj.length; i++){										document.write('box.add({"url":'+'"'+obj[i].url+'"'+","+'"title":'+'"'+obj[i].title+'"'+"});");									 }                                     box.show();                                </script>
Nach dem Login kopieren

我照着你的例子试着改了改,想在能正确输出我要想的格式了,但它是直接在网页上输出了数据。js不能读取,请问应该怎么写呢?

将document.write 去掉

将document.write 去掉



for(var i=0; i }

这么写,但是还还是没有效果啊!

你究竟要达到什么目的?

for(var i=0; i<obj.length; i++)  {      box.add({"url":'"'+obj[i].url+'"',"title":'"'+obj[i].title+'"'});  }
Nach dem Login kopieren

我遇到了跟楼主一样的问题。。。我使用了一个笨办法。就是用{literal}{/literal}挨个把变量和js代码分隔开。
完整代码如下

<!-- {if $recommend_product} -->		<script type="text/javascript" src="../images/pptBox.js"></script>		<script>			{literal}			var box =new PPTBox();			box.width = 223; //宽度			box.height = 123;//高度			box.autoplayer = 3;//自动播放间隔时间			{/literal}			<!-- {foreach from=$recommend_product name=recommend_product item=product} -->			{literal}			box.add({"url":"{/literal}{$product.thumb}{literal}","href":"{/literal}{$product.url}{literal}","title":"{/literal}{$product.name}{literal}"});{/literal}			<!-- {/foreach} -->			{literal}			box.show();			{/literal}		</script>		<!-- {/if} -->
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Können generische Funktionen in Go ineinander verschachtelt werden? Können generische Funktionen in Go ineinander verschachtelt werden? Apr 16, 2024 pm 12:09 PM

Verschachtelte generische Funktionen Generische Funktionen in Go 1.18 ermöglichen die Erstellung von Funktionen, die für mehrere Typen gelten, und verschachtelte generische Funktionen können wiederverwendbare Codehierarchien erstellen: Generische Funktionen können ineinander verschachtelt werden, wodurch eine verschachtelte Code-Wiederverwendungsstruktur entsteht. Indem Sie Filter und Zuordnungsfunktionen in einer Pipeline zusammenfassen, können Sie wiederverwendbare typsichere Pipelines erstellen. Verschachtelte generische Funktionen stellen ein leistungsstarkes Tool zum Erstellen von wiederverwendbarem, typsicherem Code dar und machen Ihren Code effizienter und wartbarer.

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen mit PHP und JS Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen mit PHP und JS Dec 17, 2023 pm 06:55 PM

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen in PHP und JS. Mit der rasanten Entwicklung des Internets und der Technologie ist der Aktienhandel für viele Anleger zu einer wichtigen Möglichkeit geworden. Die Aktienanalyse ist ein wichtiger Teil der Anlegerentscheidung, und Kerzendiagramme werden häufig in der technischen Analyse verwendet. Wenn Sie lernen, wie man Kerzendiagramme mit PHP und JS zeichnet, erhalten Anleger intuitivere Informationen, die ihnen helfen, bessere Entscheidungen zu treffen. Ein Candlestick-Chart ist ein technischer Chart, der Aktienkurse in Form von Candlesticks anzeigt. Es zeigt den Aktienkurs

Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Apr 03, 2024 am 11:55 AM

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

So erstellen Sie ein Aktien-Candlestick-Diagramm mit PHP und JS So erstellen Sie ein Aktien-Candlestick-Diagramm mit PHP und JS Dec 17, 2023 am 08:08 AM

So verwenden Sie PHP und JS zum Erstellen eines Aktienkerzendiagramms. Ein Aktienkerzendiagramm ist eine gängige technische Analysegrafik auf dem Aktienmarkt. Es hilft Anlegern, Aktien intuitiver zu verstehen, indem es Daten wie den Eröffnungskurs, den Schlusskurs, den Höchstkurs usw niedrigster Preis der Aktie. In diesem Artikel erfahren Sie anhand spezifischer Codebeispiele, wie Sie Aktienkerzendiagramme mit PHP und JS erstellen. 1. Vorbereitung Bevor wir beginnen, müssen wir die folgende Umgebung vorbereiten: 1. Ein Server, auf dem PHP 2. Ein Browser, der HTML5 und Canvas 3 unterstützt

PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen Dec 18, 2023 pm 03:39 PM

Mit der rasanten Entwicklung der Internetfinanzierung sind Aktieninvestitionen für immer mehr Menschen zur Wahl geworden. Im Aktienhandel sind Kerzendiagramme eine häufig verwendete Methode der technischen Analyse. Sie können den sich ändernden Trend der Aktienkurse anzeigen und Anlegern helfen, genauere Entscheidungen zu treffen. In diesem Artikel werden die Entwicklungskompetenzen von PHP und JS vorgestellt, der Leser wird zum Verständnis des Zeichnens von Aktienkerzendiagrammen geführt und es werden spezifische Codebeispiele bereitgestellt. 1. Aktien-Kerzendiagramme verstehen Bevor wir uns mit dem Zeichnen von Aktien-Kerzendiagrammen befassen, müssen wir zunächst verstehen, was ein Kerzendiagramm ist. Candlestick-Charts wurden von den Japanern entwickelt

So fügen Sie eine PPT-Maske hinzu So fügen Sie eine PPT-Maske hinzu Mar 20, 2024 pm 12:28 PM

Was die PPT-Maskierung angeht, sind viele Leute sicher nicht damit vertraut, wenn sie PPT erstellen, sondern erfinden es einfach, was ihnen gefällt. Daher wissen viele Menschen nicht, was PPT-Maskierung bedeutet Ich weiß, was diese Maske bewirkt, und ich weiß nicht einmal, dass sie das Bild weniger eintönig machen kann. Freunde, die lernen möchten, kommen und fügen Sie einige PPT-Masken zu Ihren PPT-Bildern hinzu. Wie fügt man also eine PPT-Maske hinzu? Bitte lesen Sie unten. 1. Zuerst öffnen wir PPT, wählen ein leeres Bild aus, klicken dann mit der rechten Maustaste auf [Hintergrundformat festlegen] und wählen eine Volltonfarbe aus. 2. Klicken Sie auf [Einfügen], Wortkunst, geben Sie das Wort ein 3. Klicken Sie auf [Einfügen], klicken Sie auf [Form]

PHP gibt ein Array mit umgedrehten Schlüsseln zurück PHP gibt ein Array mit umgedrehten Schlüsseln zurück Mar 21, 2024 pm 02:10 PM

In diesem Artikel wird ausführlich erläutert, wie PHP nach dem Umdrehen eines Schlüsselwerts ein Array zurückgibt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP-Schlüsselwert-Flip Der Array-Schlüsselwert-Flip ist eine Operation für ein Array, bei der die Schlüssel und Werte im Array ausgetauscht werden, um ein neues Array mit dem ursprünglichen Schlüssel als Wert und dem ursprünglichen Wert als Schlüssel zu generieren. Implementierungsmethode In PHP können Sie das Schlüsselwert-Umdrehen eines Arrays mit den folgenden Methoden durchführen: array_flip()-Funktion: Die array_flip()-Funktion wird speziell für Schlüsselwert-Umdrehungsvorgänge verwendet. Es erhält ein Array als Argument und gibt ein neues Array mit vertauschten Schlüsseln und Werten zurück. $original_array=[

Auswirkungen der C++-Vorlagenspezialisierung auf das Überladen und Umschreiben von Funktionen Auswirkungen der C++-Vorlagenspezialisierung auf das Überladen und Umschreiben von Funktionen Apr 20, 2024 am 09:09 AM

Spezialisierungen von C++-Vorlagen wirken sich auf das Überladen und Umschreiben von Funktionen aus: Funktionsüberladung: Spezialisierte Versionen können unterschiedliche Implementierungen eines bestimmten Typs bereitstellen und sich somit auf die Funktionen auswirken, die der Compiler aufruft. Funktionsüberschreibung: Die spezialisierte Version in der abgeleiteten Klasse überschreibt die Vorlagenfunktion in der Basisklasse und beeinflusst das Verhalten des abgeleiteten Klassenobjekts beim Aufruf der Funktion.

See all articles