Search cards above the results, detail-page fallback for market/solution documents
- New record type tx_vitec_domain_model_searchcard ("best bets"):
keyword list, priority, optional referenced record (page, product,
story, solution, market, news) and overridable title/teaser/image/link;
hidden/start/end time allow timed campaigns
- SearchCardService delivers content.search.cards on page 1: max. 3,
priority-ordered, deduplicated by URL, independent of filter, facets
and result count. Keywords match as whole words/phrases, case- and
punctuation-insensitive, including one level of the Solr managed
synonyms in both directions (cached for an hour, fail-soft). Record
cards read the record's indexed Solr document, so a card always
matches the record's own search result
- Index fallback for markets and solutions: when the record carries no
image or text, the document takes the intro image (then the hero
background) and the hero subline, intro headline and intro text from
the content blocks of its detail page - selected by CType, so it works
for layout 21 and layout 5 alike; improves results and cards
- Fix: a search request without q returned an empty body instead of the
documented empty shape (stdClass resolved inside the renderer namespace)
- migrations/check_solution_fields.php: shows live/workspace versions of
solution records
- Spec v1.22 (clause 7.16: cards)
This commit is contained in:
1 parent
8ead213bdf
commit
91ad5e6596
11 files changed
+626
-7
No files matched your search
@@ -34,6 +34,7 @@
|
||||
| 1.19 | 2026‑09‑25 | **Interface change (additive).** The `vitec_card` Content Block gained the `layout_variant` value `flipcard` and a *Card Back* palette: `back_headline` (string, max 100) and `back_text` (richtext → HTML). The two fields are `displayCond`‑gated on the flipcard layout in the backend but serialised unconditionally (7.7) — the front end **shall** key the back face on `layout_variant`, never on field presence, because stored back values persist when an editor switches the layout away. Backend repair: `vitec_layout_variant` / `vitec_background_variant` are shared with `vitec_ctabanner`, and the index‑wise Content‑Blocks merge had dropped four card‑only select values (“Missing label”) — per‑type item lists now come from `columnsOverrides` (7.7); the Card‑Back palette lives in the Layout tab below the variant select. Editorial: the head‑matter version had been stuck at v1.17 since 1.18. |
|
||||
| 1.20 | 2026‑10‑01 | **Interface change (additive).** Sub-market page template: frontend layout 21 with one colPos group per design section (`colPos110`..`colPos160`, clause 7.17); new Content Blocks `vitec_markethero`, `vitec_marketintro`, `vitec_marketinsights`; new plugin `vitec_productfeature` (key `productfeature`, one product in the 7.15.2 item shape); story cards gained `quote`/`quotePerson`/`quoteRole`; `vitec_usecaselist` gained the layout value `testimonials`; `vitec_productlist` gained hand-picked product selection (editor order, category filter ignored). Field semantics: Template_Sub-Market_Spezifikation_2026-10-01.md. |
|
||||
| 1.21 | 2026‑10‑07 | **Interface change (additive) and corpus change.** Search results carry `image` (processed 640 px tile image, root-relative, `null` for types without one). Corpus: story documents now include their body (the inline `tt_content` children), page and story content include the text columns of the market/solution Content Blocks and the `vitec_items`/`vitec_faq_items` collection children; solutions are indexed. News rank by publication date (`datetime`; `crdate` is the import date) with an age-decay boost. EXT:solr upgraded from 14.0.0-RC1 to 14.0.2 final (TYPO3 and the Solr image). Editorial: 7.16 now states the `/_json` prefix the URL swap introduced, the `type` vocabulary lists `solution` (delivered since 1.14), and the footer had been stuck at v1.19. |
|
||||
| 1.22 | 2026‑10‑09 | **Interface change (additive) and defect fix.** Search cards ("best bets", 7.16): editorial `tx_vitec_domain_model_searchcard` records with keyword lists; the search payload gained `cards` (max. 3, priority-ordered, page 1 only, synonym-aware keyword match; record cards mirror the record’s indexed document, filled card fields override). Defect fix: a request without `q` returned an empty body instead of the documented empty shape (`stdClass` resolved inside the renderer namespace). |
|
||||
|
||||
This document is drafted in the style of, and adopts the terminology conventions of,
|
||||
ISO/IEC/IEEE 42010 (architecture description), ISO/IEC/IEEE 26514 (information for
|
||||
@@ -1074,6 +1075,12 @@ identifier).
|
||||
{ "value": "product", "count": 13, "active": false }
|
||||
]
|
||||
},
|
||||
"cards": [
|
||||
{ "title": "Control Room Platforms", "teaser": "Unified, low-latency video …",
|
||||
"image": "/fileadmin/_processed_/…/csm_gov_16-9_….jpg",
|
||||
"url": "/solutions/control-room-command-centre-solutions/…",
|
||||
"linkLabel": "", "type": "solution", "keyword": "control room" }
|
||||
],
|
||||
"results": [
|
||||
{ "title": "MGW Diamond-H", "url": "/product/mgw-diamond-h-hdmi-encoder",
|
||||
"type": "product", "teaser": "… 4K HDMI <mark>Encoder</mark> …",
|
||||
@@ -1107,6 +1114,31 @@ identifier).
|
||||
`facets.category` (product sys_category titles) appear whenever matching
|
||||
documents carry the fields; further facets are pure TypoScript.
|
||||
- `suggestions` lists spellcheck alternatives ("did you mean"), `[]` if none.
|
||||
- `cards` lists editorial search cards for the query (below), `[]` if none.
|
||||
|
||||
**Search cards** ("best bets", since v1.22). Editors maintain records of
|
||||
`tx_vitec_domain_model_searchcard` (any storage folder; hidden/start/end time
|
||||
apply). A card **shall** appear above the results when the query contains one
|
||||
of its keywords as a whole word or phrase - case- and punctuation-insensitive,
|
||||
including one level of the Solr managed synonyms in both directions. At most
|
||||
three cards, highest `priority` first, deduplicated by `url`; delivered on
|
||||
page 1 only (load-more pages carry `[]`) and independent of `filter`, the
|
||||
secondary facets and `numFound` - a card may stand above zero results.
|
||||
|
||||
| Field | Meaning |
|
||||
|---|---|
|
||||
| `title` | Card title. |
|
||||
| `teaser` | Plain text (no markup, unlike result teasers), may be empty. |
|
||||
| `image` | 640 px tile, root-relative, or `null`. |
|
||||
| `url` | Root-relative link target (or absolute for external links). |
|
||||
| `linkLabel` | Button text, `""` = front-end default (e.g. "Learn more"). |
|
||||
| `type` | Result type of the referenced record (`product`, `story`, …), `custom` for a free card. |
|
||||
| `keyword` | The maintained keyword that fired (diagnostics, tracking). |
|
||||
|
||||
A card referencing a record takes title, teaser, image and URL from that
|
||||
record’s **indexed Solr document**, so it always matches the record’s own
|
||||
search result; filled card fields override. A card without a resolvable
|
||||
title or URL (e.g. the record is hidden or not indexed) is skipped silently.
|
||||
|
||||
**Indexed corpus** (`plugin.tx_solr.index.queue`): pages, plus records with a
|
||||
resolvable public URL - products, markets (only those with `detail_page`),
|
||||
@@ -1557,4 +1589,4 @@ remediation.
|
||||
- Header convention — the uniform header section across CEs, plugins and containers.
|
||||
- `Configuration/Sets/Vitecset/setup.typoscript` — the single TypoScript entry point.
|
||||
|
||||
*End of document EVO‑VITEC‑HL‑001 v1.21.*
|
||||
*End of document EVO‑VITEC‑HL‑001 v1.22.*
|
||||
Reference in new issue
Block a user