Skip to content
Code-Schnipsel Gruppen Projekte
Commit 55680286 erstellt von Michael Danielczok's avatar Michael Danielczok
Dateien durchsuchen

feat: faq structured data implemented (site type) #12

Übergeordneter a2b9cebb
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
......@@ -98,9 +98,9 @@
</setting>
<setting name="useFaqStructuredData" type="checkbox">
<locale group="quiqqer/faq" var="brick.accordion.settings.useFaqStructuredData"/>
<locale group="quiqqer/faq" var="faq.settings.useFaqStructuredData"/>
<description>
<locale group="quiqqer/faq" var="brick.accordion.settings.useFaqStructuredData.desc"/>
<locale group="quiqqer/faq" var="faq.settings.useFaqStructuredData.desc"/>
</description>
</setting>
......
......@@ -43,6 +43,18 @@
<de><![CDATA[FAQ-Eintrag]]></de>
<en><![CDATA[FAQ Entry]]></en>
</locale>
<locale name="faq.settings.useFaqStructuredData">
<de><![CDATA[FAQ Schema Markup aktivieren]]></de>
<en><![CDATA[Use FAQ schema markup]]></en>
</locale>
<locale name="faq.settings.useFaqStructuredData.desc">
<de><![CDATA[Wenn die Option aktiviert ist, wird ein JSON-LD Code Snippet generiert. Dadurch kann Google die FAQ Einträgen direkt in den Suchergebnissen einblenden. Mehr zu diesem Thema auf
<a href="https://developers.google.com/search/docs/advanced/structured-data/faqpage" target="_blank">Häufig gestellte Fragen mit strukturierten Daten auszeichnen</a>.]]></de>
<en><![CDATA[If enabled a JSON-LD code snippet will be generated. This allows Google to display the FAQ entries directly in the search results. More on this topic at
<a href="https://developers.google.com/search/docs/advanced/structured-data/faqpage" target="_blank">Mark up your FAQs with structured data</a>.]]></en>
</locale>
<locale name="quiqqer/faq:types/category.title">
<de><![CDATA[FAQ-Kategorie ]]></de>
<en><![CDATA[FAQ Category]]></en>
......@@ -158,15 +170,5 @@
<de><![CDATA[Seite mit weiteren Informationen. Wenn ausgewählt, wird der Button "Weitere Einträge" unter der FAQ List <strong>immer</strong> angezeigt.]]></de>
<en><![CDATA[Page with further information. If selected, the "More entries" button will <strong>always</strong> be displayed below the FAQ List.]]></en>
</locale>
<locale name="brick.accordion.settings.useFaqStructuredData">
<de><![CDATA[FAQ Schema Markup aktivieren]]></de>
<en><![CDATA[Use FAQ schema markup]]></en>
</locale>
<locale name="brick.accordion.settings.useFaqStructuredData.desc" html="true">
<de><![CDATA[Wenn die Option aktiviert ist, wird ein JSON-LD Code Snippet generiert. Dadurch kann Google die FAQ Einträgen direkt in der Suchergebnissen einblenden. Mehr zu diesem Thema auf
<a href="https://developers.google.com/search/docs/advanced/structured-data/faqpage" target="_blank">Häufig gestellte Fragen mit strukturierten Daten auszeichnen</a>.]]></de>
<en><![CDATA[If enabled a JSON-LD code snippet will be generated. This allows Google to display the FAQ entries directly in the search results. More on this topic at
<a href="https://developers.google.com/search/docs/advanced/structured-data/faqpage" target="_blank">Mark up your FAQs with structured data</a>.]]></en>
</locale>
</groups>
</locales>
......@@ -16,6 +16,7 @@
</desc>
<attributes>
<attribute default="1">quiqqer.faq.settings.useFaqStructuredData</attribute>
<attribute default="default">quiqqer.faq.settings.template</attribute>
<attribute default="1">quiqqer.faq.settings.accordion.stayOpen</attribute>
<attribute default="0">quiqqer.faq.settings.offset</attribute>
......@@ -28,6 +29,15 @@
<locale group="quiqqer/faq" var="quiqqer.faq.category.settings.title"/>
</title>
<input conf="quiqqer.faq.settings.useFaqStructuredData" type="checkbox">
<text>
<locale group="quiqqer/faq" var="faq.settings.useFaqStructuredData"/>
</text>
<description>
<locale group="quiqqer/faq" var="faq.settings.useFaqStructuredData.desc"/>
</description>
</input>
<select conf="quiqqer.faq.settings.template">
<text>
<locale group="quiqqer/faq" var="quiqqer.faq.category.settings.template"/>
......
......@@ -66,6 +66,10 @@
<hr />
{/if}
{/foreach}
{if $faqStructuredData}
{$faqStructuredData}
{/if}
</section>
{/if}
......
......@@ -4,18 +4,21 @@ $entries = $Site->getChildren([
'type' => 'quiqqer/faq:types/entry'
]);
$faqTemplate = 'default';
$offset = false;
$FAQControl = null;
$faqTemplate = 'default';
$offset = false;
$FAQControl = null;
$useFaqStructuredData = $Site->getAttribute('quiqqer.faq.settings.useFaqStructuredData');
$faqStructuredData = ''; // html string
switch ($Site->getAttribute('quiqqer.faq.settings.template')) {
case 'accordion':
$faqTemplate = 'accordion';
$FAQControl = new \QUI\FAQ\Controls\Accordion([
'max' => 50,
'stayOpen' => $Site->getAttribute('quiqqer.faq.settings.accordion.stayOpen'),
'parentSite' => $Site
'max' => 50,
'stayOpen' => $Site->getAttribute('quiqqer.faq.settings.accordion.stayOpen'),
'parentSite' => $Site,
'useFaqStructuredData' => $useFaqStructuredData
]);
break;
......@@ -23,12 +26,17 @@ switch ($Site->getAttribute('quiqqer.faq.settings.template')) {
default:
$offset = intval($Site->getAttribute('quiqqer.faq.settings.offset'));
$faqTemplate = 'default';
if ($useFaqStructuredData) {
$FAQControl = new QUI\Bricks\Controls\Accordion();
$faqStructuredData = $FAQControl->createJSONLDFAQSchemaCode();
}
break;
}
$Engine->assign([
'entries' => $entries,
'faqTemplate' => $faqTemplate,
'offset' => $offset,
'FAQControl' => $FAQControl
'entries' => $entries,
'faqTemplate' => $faqTemplate,
'offset' => $offset,
'FAQControl' => $FAQControl,
'faqStructuredData' => $faqStructuredData
]);
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren