Requirements
Resources
RazorBlade add JSON-LD Headers
⚠️ WARNING: These examples only work in Dnn ☢️
Note that to ensure this tutorial can run on all platforms, we've included some #if NETCOREAPP
which changes what code runs on what platform.
Info about the Base Class
This tutorial inherits from the Custom.Hybrid.Razor14 base class.
This allows us to use Kit.Scrub
to access an IScrub
without having to use GetService<IScrub>
This page adds 2 JSON-LD tags to the html-head. View the page source to see it.
⚠️ Code Disabled in Oqtane 💧
This code only works in DNN, so the tutorial has special conditional statements like#if NETCOREAPP
which disable the code in Oqtane.
See See how to use #if
Source Code of this file
Below you'll see the source code of the file. Note that we're just showing the main part, and hiding some parts of the file which are not relevant for understanding the essentials. Click to expand the code
@inherits Custom.Hybrid.Razor14 @using ToSic.Razor.Blade; <!-- unimportant stuff, hidden --> <div @Sys.PageParts.InfoWrapper()> @Html.Partial("../shared/DefaultInfoSection.cshtml") <div @Sys.PageParts.InfoIntro()> <h2><em>RazorBlade</em> add JSON-LD Headers</h2> @Html.Partial("MessageDnnOnlyUseIPageService.cshtml") @Html.Partial("../shared/KitBaseClassInfoBox.cshtml", new { ServiceName = "Scrub", Service = "IScrub" }) <div> This page adds 2 JSON-LD tags to the html-head. View the page source to see it. </div> </div> </div> @if (CmsContext.Platform.Name == "Oqtane") { @Html.Partial("../shared/MessageOqtaneDisabled.cshtml") } else { <text> @{ Kit.Page.AddJsonLd("{ \"@context\": \"https://schema.org/\" }"); // creating a JSON-LD using an object - replicating googles example https://developers.google.com/search/docs/guides/intro-structured-data var jsonLd = new Dictionary<string, object> { { "@context", "https://schema.org"}, { "@type", "Organization"}, { "url", "http://www.example.com"}, { "name", "Unlimited Ball Bearings Corp."}, { "contactPoint", new Dictionary<string, object> { {"@type", "ContactPoint"}, {"telephone", "+1-401-555-1212"}, {"contactType", "Customer service"} }} }; Kit.Page.AddJsonLd(jsonLd); } </text> } @* Footer *@ @Html.Partial("../Shared/Layout/FooterWithSource.cshtml", new { Sys = Sys })