{# @var craft \craft\web\twig\variables\CraftVariable #} {% from "seomatic/settings/_includes/macros.twig" import configWarning %} {% import "_includes/forms" as forms %} {% switch pageContext %} {% case "identity" %} {% set websiteVerb = "owns" %} {% case "creator" %} {% set websiteVerb = "created" %} {% default %} {% set websiteVerb = "" %} {% endswitch %} {# ############## General Info for all types ############## #}

{{ "General Info" |t("seomatic") }}

{{ forms.textField({ label: "Entity Name"|t("seomatic"), instructions: "The name of the entity that #{websiteVerb} the website" |t("seomatic"), id: "genericName", class: "nicetext", name: "genericName", value: entity.genericName, required: true, errors: entity.getErrors("genericName"), }) }} {{ forms.textField({ label: "Alternate Entity Name"|t("seomatic"), instructions: "An alternate or nickname for the entity that #{websiteVerb} the website" |t("seomatic"), id: "genericAlternateName", class: "nicetext", name: "genericAlternateName", value: entity.genericAlternateName, required: false, errors: entity.getErrors("genericAlternateName"), }) }}

{{ "A description of the entity that #{websiteVerb} the website" |t("seomatic") }}

{{ forms.textarea({ label: "Entity Description"|t("seomatic"), instructions: "A description of the entity that #{websiteVerb} the website" |t("seomatic"), id: "genericDescription", class: "nicetext", name: "genericDescription", value: entity.genericDescription, maxlength: 1024, showCharsLeft: true, required: false, errors: entity.getErrors("genericDescription"), }) }}
{{ forms.autosuggestField({ label: "Entity URL"|t("seomatic"), instructions: "A URL for the entity that #{websiteVerb} the website" |t("seomatic"), suggestEnvVars: true, suggestAliases: true, id: "genericUrl", class: "nicetext", name: "genericUrl", value: entity.genericUrl, required: false, errors: entity.getErrors("genericUrl"), }) }} {{ forms.elementSelectfield({ label: "Entity Brand"|t("seomatic"), instructions: "An image or logo that represents the entity that #{websiteVerb} the website. The image must be in JPG, PNG, or GIF format." |t("seomatic"), id: "genericImageIds", name: "genericImageIds", viewMode: "large", elements: genericImageElements, elementType: elementType, criteria: { kind: ["image"], }, jsClass: "Craft.AssetSelectInput", selectionLabel: "Select Brand Image"|t("seomatic"), sources: null, limit: 1, warning: false, errors: entity.getErrors("genericImageIds"), }) }} {{ forms.textField({ label: "Entity Telephone"|t("seomatic"), instructions: "The primary contact telephone number for the entity that #{websiteVerb} the website" |t("seomatic"), id: "genericTelephone", class: "nicetext", name: "genericTelephone", value: entity.genericTelephone, required: false, errors: entity.getErrors("genericTelephone"), }) }} {{ forms.textField({ label: "Entity Email"|t("seomatic"), instructions: "The primary contact email address for the entity that #{websiteVerb} the website" |t("seomatic"), id: "genericEmail", class: "nicetext", name: "genericEmail", value: entity.genericEmail, required: false, errors: entity.getErrors("genericEmail"), }) }}

{{ "Location Info" |t("seomatic") }}

{{ forms.textField({ label: "Entity Street Address"|t("seomatic"), instructions: "The street address of the entity that #{websiteVerb} the website, e.g.: 123 Main Street" |t("seomatic"), id: "genericStreetAddress", class: "nicetext", name: "genericStreetAddress", value: entity.genericStreetAddress, required: false, errors: entity.getErrors("genericStreetAddress"), }) }}
{{ forms.textField({ label: "Entity Locality"|t("seomatic"), instructions: "The locality of the entity that #{websiteVerb} the website, e.g.: Portchester" |t("seomatic"), id: "genericAddressLocality", class: "nicetext", name: "genericAddressLocality", value: entity.genericAddressLocality, required: false, errors: entity.getErrors("genericAddressLocality"), }) }}
{{ forms.textField({ label: "Entity Region"|t("seomatic"), instructions: "The region of the entity that #{websiteVerb} the website, e.g.: New York or NY" |t("seomatic"), id: "genericAddressRegion", class: "nicetext", name: "genericAddressRegion", value: entity.genericAddressRegion, required: false, errors: entity.getErrors("genericAddressRegion"), }) }}
{{ forms.textField({ label: "Entity Postal Code"|t("seomatic"), instructions: "The postal code of the entity that #{websiteVerb} the website, e.g.: 14580" |t("seomatic"), id: "genericPostalCode", class: "nicetext", name: "genericPostalCode", value: entity.genericPostalCode, required: false, errors: entity.getErrors("genericPostalCode"), }) }}
{{ forms.textField({ label: "Entity Country"|t("seomatic"), instructions: "The country in which the entity that #{websiteVerb} the website is located, e.g.: US" |t("seomatic"), id: "genericAddressCountry", class: "nicetext", name: "genericAddressCountry", value: entity.genericAddressCountry, required: false, errors: entity.getErrors("genericAddressCountry"), }) }}
{{ forms.textField({ label: "Entity Latitude"|t("seomatic"), instructions: "The latitude of the location of the entity that #{websiteVerb} the website, e.g.: -120.5436367" |t("seomatic"), id: "genericGeoLatitude", class: "nicetext", name: "genericGeoLatitude", value: entity.genericGeoLatitude, required: false, errors: entity.getErrors("genericGeoLatitude"), }) }}
{{ forms.textField({ label: "Entity Longitude"|t("seomatic"), instructions: "The longitude of the location of the entity that #{websiteVerb} the website, e.g.: 80.6033588" |t("seomatic"), id: "genericGeoLongitude", class: "nicetext", name: "genericGeoLongitude", value: entity.genericGeoLongitude, required: false, errors: entity.getErrors("genericGeoLongitude"), }) }}
{# ############## Entity metaPane fields ############## #} {# ############## Person type specific fields ############## #}

{{ "Person Info" |t("seomatic") }}

{{ forms.selectField({ label: "Person Gender"|t("seomatic"), instructions: "The gender of the person" |t("seomatic"), id: "personGender", class: "nicetext", options: { "Male": "Male"|t("seomatic"), "Female": "Female"|t("seomatic"), "Other": "Other"|t("seomatic"), }, name: "personGender", value: entity.personGender, required: false, errors: entity.getErrors("personGender"), }) }}
{{ forms.textField({ label: "Person Birth Place"|t("seomatic"), instructions: "The place where the person was born" |t("seomatic"), id: "personBirthPlace", class: "nicetext", name: "personBirthPlace", value: entity.personBirthPlace, required: false, errors: entity.getErrors("personBirthPlace"), }) }}
{# ############## Organization type specific fields ############## #}

{{ "Organization Info" |t("seomatic") }}

{{ forms.textField({ label: "Organization DUNS Number"|t("seomatic"), instructions: "The DUNS (Dunn & Bradstreet) number of the organization that #{websiteVerb} the website" |t("seomatic"), id: "organizationDuns", class: "nicetext", name: "organizationDuns", value: entity.organizationDuns, required: false, errors: entity.getErrors("organizationDuns"), }) }}
{{ forms.textField({ label: "Organization Founder"|t("seomatic"), instructions: "The name of the founder of the organization" |t("seomatic"), id: "organizationFounder", class: "nicetext", name: "organizationFounder", value: entity.organizationFounder, required: false, errors: entity.getErrors("organizationFounder"), }) }}
{{ forms.textField({ label: "Organization Founding Date"|t("seomatic"), instructions: "The date the organization was founded, in ISO 8601 date format, e.g.: `2018-03-26`. [Learn More](http://schema.org/Date)" |t("seomatic"), id: "organizationFoundingDate", class: "nicetext", name: "organizationFoundingDate", value: entity.organizationFoundingDate, required: false, errors: entity.getErrors("organizationFoundingDate"), }) }}
{{ forms.textField({ label: "Organization Founding Location"|t("seomatic"), instructions: "The location where the organization was founded" |t("seomatic"), id: "organizationFoundingLocation", class: "nicetext", name: "organizationFoundingLocation", value: entity.organizationFoundingLocation, required: false, errors: entity.getErrors("organizationFoundingLocation"), }) }}

{{ "Organization Contact Points" |t("seomatic") }}

{{ forms.editableTableField({ label: "Contact Points"|t("seomatic"), instructions: "Use organization contact points to add your organizations's contact information to the Google Knowledge panel in some searches. The Telephone Number **must be** an internationalized version of the phone number, starting with the '+' symbol and country code (+1 in the US and Canada). e.g.: `+1-800-555-1212` or `+44-2078225951`. [Learn More](https://developers.google.com/structured-data/customize/contact-points)"|t("seomatic") |md, id: "organizationContactPoints", name: "organizationContactPoints", allowAdd: true, allowDelete: true, allowReorder: true, required: false, cols: { telephone: { heading: "Telephone Number" |t("seomatic"), type: "singleline" |t("seomatic"), }, contactType: { heading: "Contact Type" |t("seomatic"), type: "select" |t("seomatic"), options: { "customer support": "Customer Support", "technical support": "Technical Support", "billing support": "Billing Support", "bill payment": "Bill Payment", "sales": "Sales", "reservations": "Reservations", "credit card support": "Credit Card Support", "emergency": "Emergency", "baggage tracking": "Baggage Tracking", "roadside assistance": "Roadside Assistance", "package tracking": "Package Tracking", } } }, rows: entity.organizationContactPoints, errors: entity.getErrors("organizationContactPoints"), }) }}
{# ############## Entity metaSubPane fields ############## #} {# ############## Airline type specific fields ############## #}
{# ############## Corporation type specific fields ############## #}

{{ "Corporation Info" |t("seomatic") }}

{{ forms.textField({ label: "Corporation Ticker Symbol"|t("seomatic"), instructions: "The exchange ticker symbol of the corporation" |t("seomatic"), id: "corporationTickerSymbol", class: "nicetext", name: "corporationTickerSymbol", value: entity.corporationTickerSymbol, required: false, errors: entity.getErrors("corporationTickerSymbol"), }) }}
{# ############## EducationalOrganization type specific fields ############## #}
{# ############## GovernmentOrganization type specific fields ############## #}
{# ############## LocalBusiness type specific fields ############## #}

{{ "Local Business Info" |t("seomatic") }}

{{ forms.selectField({ label: "Price Range"|t("seomatic"), instructions: "The approximate price range of the goods or services offered by this local business."|t("seomatic"), id: "localBusinessPriceRange", options: { "$": "$", "$$": "$$", "$$$": "$$$", "$$$$": "$$$$", "$$$$$": "$$$$$", }, name: "localBusinessPriceRange", value: entity.localBusinessPriceRange, errors: entity.getErrors("localBusinessPriceRange"), }) }}

{{ "The opening hours for this local business. If the business is closed on a given day, just leave the hours for that day blank. If you leave everything blank, no opening hours will be listed. [Learn More](https://developers.google.com/search/docs/data-types/local-business)" |t("seomatic") |md }}

{% macro day(id, name, value, day) %} {% from "_includes/forms" import time %} {{ craft.app.locale.getWeekDayName(day) }} {{ time({ id: id~"-"~day~"-open", name: name~"["~day~"][open]", value: value[day].open.date ?? "" }) }} {{ time({ id: id~"-"~day~"-close", name: name~"["~day~"][close]", value: value[day].close.date ?? "" }) }} {% endmacro %} {% from _self import day %} {% set startDay = currentUser.getPreference("weekStartDay") ?? craft.app.config.general.defaultWeekStartDay %} {% set days = (startDay..6) %} {% if startDay != 0 %} {% set days = days|merge(0..(startDay -1)) %} {% endif %} {% for i in days %} {{ day("localBusinessOpeningHours", "localBusinessOpeningHours", entity.localBusinessOpeningHours, i) }} {% endfor %}
{{ "Opening Time"|t("store-hours") }} {{ "Closing Time"|t("store-hours") }}
{# ############## NGO type specific fields ############## #}
{# ############## PerformingGroup type specific fields ############## #}
{# ############## SportsOrganization type specific fields ############## #}
{# ############## Entity metaSpecificPane fields ############## #} {# ############## FoodEstablishment type specific fields ############## #}

{{ "Food Establishment Info" |t("seomatic") }}

{{ forms.textField({ label: "Food Establishment Cuisine"|t("seomatic"), instructions: "The primary type of cuisine that the food establishment serves" |t("seomatic"), id: "restaurantServesCuisine", class: "nicetext", name: "restaurantServesCuisine", value: entity.restaurantServesCuisine, required: false, errors: entity.getErrors("restaurantServesCuisine"), }) }} {{ forms.textField({ label: "Food Establishment Menu URL"|t("seomatic"), instructions: "URL to the food establishment's menu" |t("seomatic"), id: "restaurantMenuUrl", class: "nicetext", name: "restaurantMenuUrl", value: entity.restaurantMenuUrl, required: false, errors: entity.getErrors("restaurantMenuUrl"), }) }} {{ forms.textField({ label: "Food Establishment Reservations URL"|t("seomatic"), instructions: "URL to the food establishment's reservations page" |t("seomatic"), id: "restaurantReservationsUrl", class: "nicetext", name: "restaurantReservationsUrl", value: entity.restaurantReservationsUrl, required: false, errors: entity.getErrors("restaurantReservationsUrl"), }) }}
{% js %} // Handle looking up the lattitude/longitude $('#{{ "geolookup" |namespaceInputId }}').on('click', function(e) { window.open('https://www.latlong.net/convert-address-to-lat-long.html','_blank'); }); {% endjs %}