Dynamicky obsah meta tagov v zavisloti na podstranku

Tomas8698
Člen | 109
+
0
-

Dalo by sa to spravit tak že mam stlpce v tabulke ako description, ogiimage, titleshort a to by som chcel zapisat do meta tagov ale aby to bolo dynamicke ze pri zmene podstranky sa mi v layout latte zmeni meta tag. Tak ako ked includujem content tak obsah sa meni ale layout je ten isty. Ze by sa menil obsah meta tagov, ktory stahujem z db v zavislosti na podstranku
Za pomoc velmi pekne dakujem

<?php

CREATE TABLE `articles` (
  `id` int(11) NOT NULL,
  `urlseo` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL,
  `active` tinyint(1) NOT NULL,
  `title` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL,
  `uuid` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `keywords` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ogimage` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `titleshort` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `rsstext` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `locale` char(5) COLLATE utf8mb4_czech_ci NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


?>
Kamil Valenta
Člen | 762
+
0
-

V layoutu si na meta tagy můžeš nachystat jen block a v konkrétní šabloně ho jen přepíšeš.

Tomas8698
Člen | 109
+
0
-

Super cize da sa to tak,ze na podstranke napr. Software si vlozim do {block} kde budu konkretne meta tagy vytiahnute z db a ked sa prelinkujem na inu podstranku sa prepise.

Da sa to aj na vsetky meta tagy spolu alebo je lepsie si to po jednom zapisat?

Kamil Valenta
Člen | 762
+
0
-

Já bych si každý meta tag obalil blockem a pak ještě celou oblast meta tagů nadřazeným blockem.
A keywords klidně vyhoď i z db…

Tomas8698
Člen | 109
+
0
-

Myslel si to takto?

layout.latte

<?php
  <!-- Tu si vkladam meta tagy -->
      {include block meta}
     <meta property="og:locality" content="Trebisov" />
     <meta property="og:postal-code" content="07501" />
     <meta property="og:country-name" content="Slovenska republika" />
?>

A pri podstrankach

<?php

{block meta}

{block description} <meta name="description" content="{$page->description}"> {/block}
{block keywords} <meta name="keywords" content="{$page->keywords}">  {/block}
{block title} <title> {$page->title} </title> {/block}
{block url}  <meta property="og:url" content="{$page->urlseo} " /> {/block}
{block type}<meta property="og:type" content="website" /> {/block}
{block titleshort} <meta property="og:titleshort" content="{$page->titleshort} " /> {/block}
{block ogimage}  <meta property="og:image" content="{$page->ogimage}/header.jpg" /> {/block}

{/block}

?>

Este dokoncim db a vyskusam to ale Dakujem za radu @KamilValenta , a vyhodim to keyword.

Editoval Tomas8698 (25. 2. 2021 10:56)

Tomas8698
Člen | 109
+
0
-

Chcel sa spýtať ešte ako to spraviť, tak aby som nemal v každej šablóne to {block meta}. Mam hlavný HomepagePresenter a potom mam ArticlePresenter, ktorý mi vyberá články ktoré mam uložene v šablónach, aby som nemal v každom článku {block meta}. Keď vymažem zo šablón článkov {block meta} a dám ho do Article.latte, tak mi vypíše chybu Cannot include undefined ‚meta‘ ako keby nedostaval z databázy dáta. Pre lepší prehlaď posielam web, ktorý mam na githube https://github.com/…alysis.latte

Za pomoc a nasmerovanie ďakujem

Editoval Tomas8698 (14. 3. 2021 11:53)