News: Anzeigemodus für Bilder in Artikeln einer bestimmten Kategorie ändern
TYPO3-Version: 9.5
Das hatte ich nötig, weil die Darstellung in einer Kategorie unterschiedlich war. Analog würde das auch für Tags oder die Datensätze auf einer pid gehen. Oder auch andere Spalten, z.B. die Bildgröße. Oder auch Datensätz einer anderen Erweiterung!
Erstmal alle Bilder in den Artikeln der Kategorie anzeigen
-- Anzeige
SELECT `tx_news_domain_model_news`.`uid`, `tx_news_domain_model_news`.`title`, `sys_file_reference`.`showinpreview`, `tx_news_domain_model_news`.`deleted`, `tx_news_domain_model_news`.`hidden`, `sys_file_reference`.`title`
-- Tabelle (1) mit den Datensätzen
FROM `tx_news_domain_model_news`
-- Tabelle (2), in der die Kategorien (1) zugeordnet werden
INNER JOIN `sys_category_record_mm`
-- verknüpfende Spalten
ON `tx_news_domain_model_news`.`uid`=`sys_category_record_mm`.`uid_foreign`
-- Tabelle (3), in der die Bilder den Artikeln (1) zugeordnet werden
INNER JOIN `sys_file_reference`
-- verknüpfende Spalten
ON `tx_news_domain_model_news`.`uid`=`sys_file_reference`.`uid_foreign`
-- Bedingung: Kategorie
WHERE `sys_category_record_mm`.`uid_local`= 3;
Dann den Vorschaumodus ändern
-- zu aktualisierende Tabelle (1)
UPDATE `sys_file_reference`
-- verknüpft mit Tabelle der Datensätze (2)
INNER JOIN `tx_news_domain_model_news`
-- verknüpfende Spalten
ON `tx_news_domain_model_news`.`uid`=`sys_file_reference`.`uid_foreign`
-- (2) verknüpft mit Tabelle, in der die Kategorien zugeordnet werden (3)
INNER JOIN `sys_category_record_mm`
-- verknüpfende Spalten
ON `tx_news_domain_model_news`.`uid`=`sys_category_record_mm`.`uid_foreign`
-- neuer Wert in (1)
SET `sys_file_reference`.`showinpreview` = 2
-- Einschränkungen: nur für diese Datensätze:
-- (wichtig; sonst werden alle Datensätze geändert)
WHERE `sys_file_reference`.`showinpreview` = 1
AND `sys_category_record_mm`.`uid_local`= 3;
Der Wert 2 für showinpreview ("Nur in Vorschau anzeigen") ist irgendwann dazu gekommen.