Files
sm-seo-plugin/models/page/fields.yaml
Jakub Zych 9e802ec850 feat: page registry with its admin screen and signpost type
- golem15_seo_pages (migration 202610280002): the site's own frontend pages
  with an address and a name per locale, kind, origin, parent, content date
  and note; settings routes_reported_at
- SEO > Pages (golem15.seo.pages) after URL rules: list with kind, origin
  and missing filters and the missing row state, form with the P9 partial;
  the plugin's form extension saves the address and name per locale and
  refuses url_required, url_invalid, url_taken and url_owned
- menu item type seo-page with a content descriptor, so each page gets
  the SEO tab, resolves ok and is listed in the sitemaps grouped by kind
  (pages, offers, services, landing-pages, titled per locale)
- management API GET/POST /_seo/api/v1/pages, PUT/DELETE /pages/{id} and
  the MCP tools seo_list_pages, seo_create_page, seo_update_page,
  seo_delete_page (in this commit because the operations parity test maps
  every Pages operation to its tool)
2026-11-04 13:20:45 +01:00

44 lines
1.3 KiB
YAML

# Page form (UI-SPEC C21). url (after page_status) and title (after kind)
# are translatable and added by the plugin's form extension, which stores
# them per locale; the SEO tab follows.
fields:
page_status:
type: partial
path: page_status
span: full
context: update
kind:
label: golem15.seo::lang.pages.kind
comment: golem15.seo::lang.pages.kind_comment
type: dropdown
span: right
default: page
options:
page: golem15.seo::lang.pages.kind_page
offer: golem15.seo::lang.pages.kind_offer
service: golem15.seo::lang.pages.kind_service
landing: golem15.seo::lang.pages.kind_landing
parent_id:
label: golem15.seo::lang.pages.parent
comment: golem15.seo::lang.pages.parent_comment
type: dropdown
span: right
emptyOption: golem15.seo::lang.pages.parent_none
options: parentOptions
content_updated_at:
label: golem15.seo::lang.pages.content_updated
comment: golem15.seo::lang.pages.content_updated_comment
type: datepicker
mode: date
span: left
note:
label: golem15.seo::lang.pages.note
comment: golem15.seo::lang.pages.note_comment
type: textarea
size: tiny
span: full