Hämta innehåll från extern URL i teman
Guide till att hämta innehåll från externa webbadresser i Shoporama-teman med Smarty fetch-funktionen.
Med Shoporama-teman kan du hämta innehåll från externa webbadresser direkt till dina mallar. Detta är användbart om du vill visa data från ett externt API, ladda ett JSON-flöde eller inkludera innehåll från en annan server.
Observera att
Funktionen fetch_file är tillgänglig i Smarty 2-teman. I Smarty 4 använder du istället Smartys inbyggda fetch-funktion.
Syntax och parametrar
Funktionen fetch_file tar emot tre parametrar:
| Parameter | Obligatorisk | Obligatorisk Beskrivning |
|---|---|---|
url | Ja | Den URL som ska hämtas (endast http/https) |
format | Nej Ställ in till json för att analysera som array. | Ställ in json för att analysera som en array. Utelämnas för ren text |
Tilldela | Nej för vanlig text | Variabelnamn som innehållet tilldelas till |
Exempel: Hämta JSON-data
Här hämtar vi en JSON-fil och använder data i mallen:
<{fetch_file url="https://example.com/data.json" format="json" assign="data"}>
Om JSON-filen innehåller:
{ "name": "Billy Bob", "email": "billy@example.com" }
kan du nu använda data så här:
<p>Namn: <{$data.name}></p> <p>E-post: <{$data.email}></p>
Exempel: Hämta som ren text
Om du utelämnar formatparametern returneras innehållet som vanlig text:
<{fetch_file url="https://example.com/snippet.html" assign="snippet"}> <div><{$snippet}></div>
Smarty 4: Använd fetch istället
I Smarty 4-teman använder du Smartys inbyggda fetch-funktion:
<{fetch file="https://example.com/data.txt" assign="content"}> <p><{$content}></p>
Tips att ha i åtanke
Var medveten om att externa anrop kan påverka sidans laddningstid. Överväg att cachelagra resultatet eller använda asynkrona anrop via JavaScript om data inte är avgörande för den första sidvisningen.
Behöver du hjälp med något? Kontakta oss på support@shoporama.dk.