├── pages
├── index.php
├── yrewrite.metainfo.field.php
├── yrewrite.metainfo.domain.php
└── yrewrite.metainfo.domain_icon.php
├── update.php
├── .gitignore
├── .github
├── FUNDING.yml
├── workflows
│ ├── publish-to-redaxo-org.yml
│ └── code-style.yml
└── copilot-instructions.md
├── .php-cs-fixer.dist.php
├── uninstall.php
├── lib
├── rex_var_head.php
├── rex_var_setting.php
├── Field
│ └── value
│ │ └── yrewrite_metainfo_be_media_preview.php
├── icon.php
└── domain.php
├── composer.json
├── LICENSE
├── package.yml
├── fragments
└── yrewrite_metainfo
│ └── head.php
├── install.php
├── lang
├── en_gb.lang
├── de_de.lang
├── sv_se.lang
├── ru_ru.lang
├── pt_br.lang
├── it_it.lang
├── nl_nl.lang
├── es_es.lang
└── fr_fr.lang
├── assets
├── media_preview.css
└── media_preview.js
├── boot.php
├── ytemplates
└── bootstrap
│ ├── value.yrewrite_metainfo_be_media_preview-view.tpl.php
│ └── value.yrewrite_metainfo_be_media_preview.tpl.php
├── README.md
├── install
├── rex_yrewrite_metainfo.tableset.json
└── rex_yrewrite_metainfo_icon.tableset.json
└── api.md
/pages/index.php:
--------------------------------------------------------------------------------
1 | in(__DIR__)
7 | ;
8 |
9 | return (new Redaxo\PhpCsFixerConfig\Config())
10 | ->setFinder($finder)
11 | ;
12 |
--------------------------------------------------------------------------------
/uninstall.php:
--------------------------------------------------------------------------------
1 | isAvailable() && !rex::isSafeMode()) {
4 | rex_yform_manager_table_api::removeTable('rex_yrewrite_metainfo');
5 | rex_yform_manager_table_api::removeTable('rex_yrewrite_metainfo_icon');
6 | }
7 |
--------------------------------------------------------------------------------
/pages/yrewrite.metainfo.field.php:
--------------------------------------------------------------------------------
1 | 'yform/manager/table_field', 'table_name' => 'rex_yrewrite_metainfo'], false));
9 |
--------------------------------------------------------------------------------
/lib/rex_var_head.php:
--------------------------------------------------------------------------------
1 | getParsedArg('key', null, true);
12 | if (null === $key) {
13 | return false;
14 | }
15 | return "FriendsOfRedaxo\\YrewriteMetainfo\\Domain::getCurrentValue($key)";
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.github/workflows/publish-to-redaxo-org.yml:
--------------------------------------------------------------------------------
1 | # Instructions: https://github.com/FriendsOfREDAXO/installer-action/
2 |
3 | name: Publish to REDAXO.org
4 | on:
5 | release:
6 | types:
7 | - published
8 |
9 | jobs:
10 | redaxo_publish:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v3
14 | - uses: FriendsOfREDAXO/installer-action@v1
15 | with:
16 | myredaxo-username: ${{ secrets.MYREDAXO_USERNAME }}
17 | myredaxo-api-key: ${{ secrets.MYREDAXO_API_KEY }}
18 | description: ${{ github.event.release.body }}
19 | version: ${{ github.event.release.tag_name }}
20 |
--------------------------------------------------------------------------------
/pages/yrewrite.metainfo.domain.php:
--------------------------------------------------------------------------------
1 | getParam('yform')->table->getTableName() === $ep->getParam('table_name')) { // @phpstan-ignore-line
15 | return '';
16 | }
17 | },
18 | rex_extension::EARLY,
19 | ['table_name' => $table_name],
20 | );
21 |
22 | $_REQUEST['table_name'] = $table_name; /** @phpstan-ignore-line */
23 |
24 | if (is_file(rex_path::addon('yform', 'pages/manager.data_edit.php'))) {
25 | include rex_path::addon('yform', 'pages/manager.data_edit.php');
26 | } else {
27 | include rex_path::plugin('yform', 'manager', 'pages/data_edit.php');
28 | }
29 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | # MIT License
2 |
3 | Copyright (c) Friends of REDAXO
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/.github/workflows/code-style.yml:
--------------------------------------------------------------------------------
1 | name: PHP-CS-Fixer
2 |
3 | on:
4 | push:
5 | branches: [ master, main ]
6 | pull_request:
7 | branches: [ master, main ]
8 |
9 | permissions:
10 | contents: read
11 |
12 | jobs:
13 | code-style:
14 |
15 | runs-on: ubuntu-latest
16 | permissions:
17 | contents: write # for Git to git apply
18 |
19 | steps:
20 | - uses: actions/checkout@v3
21 |
22 | - name: Setup PHP
23 | uses: shivammathur/setup-php@v2
24 | with:
25 | php-version: '8.1'
26 | extensions: gd, intl, pdo_mysql
27 | coverage: none # disable xdebug, pcov
28 |
29 | # install dependencies from composer.json
30 | - name: Install test dependencies
31 | env:
32 | COMPOSER: composer.json
33 | run: composer install --prefer-dist --no-progress
34 |
35 | # run php-cs-fixer, fix code styles
36 | - name: Run PHP CS Fixer
37 | run: composer cs-fix
38 |
39 | # commit and push fixed files
40 | - uses: stefanzweifel/git-auto-commit-action@v4
41 | with:
42 | commit_message: Apply php-cs-fixer changes
43 |
--------------------------------------------------------------------------------
/package.yml:
--------------------------------------------------------------------------------
1 | package: yrewrite_metainfo
2 | version: "4.0.0"
3 | author: Friends of REDAXO
4 | supportpage: https://github.com/FriendsOfRedaxo/yrewrite_metainfo/
5 |
6 | requires:
7 | php:
8 | version: "^8.2"
9 | redaxo: ^5.19
10 | packages:
11 | yrewrite: "^2"
12 | yform: ">=4,<6"
13 |
14 | conflicts:
15 | packages:
16 | yrewrite_metainfo: "^1"
17 |
18 | pages:
19 | yrewrite/metainfo:
20 | title: translate:yrewrite_metainfo_title
21 | perm: yrewrite_metainfo[]
22 | icon: rex-icon fa-tags
23 | subpages:
24 | help: { title: 'translate:package_hhelp', subPath: README.md, itemClass: 'pull-right', icon: 'rex-icon fa-info-circle' }
25 | api: { title: 'translate:yrewrite_metainfo_api', subPath: api.md, itemClass: 'pull-right', icon: 'rex-icon fa-code' }
26 | yrewrite/metainfo/domain:
27 | title: translate:yrewrite_metainfo_domain
28 | perm: yrewrite_metainfo[domain]
29 | icon: rex-icon fa-tags
30 | yrewrite/metainfo/domain_icon:
31 | title: translate:yrewrite_metainfo_domain_icon
32 | perm: yrewrite_metainfo[icon]
33 | icon: rex-icon fa-image
34 | yrewrite/metainfo/field:
35 | title: translate:yrewrite_metainfo_fields
36 | perm: yrewrite_metainfo[fields]
37 | icon: rex-icon fa-list
38 |
--------------------------------------------------------------------------------
/fragments/yrewrite_metainfo/head.php:
--------------------------------------------------------------------------------
1 | getVar('domain')) {
10 | $domain = Domain::getCurrent();
11 | }
12 | if ($domain instanceof Domain) {
13 | ?>
14 |
15 |
16 |
17 |
18 |
19 |
20 | = $seo->getTags();
21 | ?>
22 | getIcon()) {
24 | /** @var Icon $icon */
25 | ?>
26 |
27 | getAppleTouchIcon()) { ?>
28 |
30 |
31 | getManifest()) { ?>
32 |
33 |
34 | getShortcutIcon()) { ?>
35 |
36 |
37 | getFaviconPng96()) { ?>
38 |
39 |
40 | getFaviconSvg()) { ?>
41 |
42 |
43 |
45 |
46 |
47 |
48 | show();
55 | }
56 |
57 | if (rex_addon::get('wenns_sein_muss')->isAvailable()) {
58 | echo Fragment::getCss();
59 | echo Fragment::getScripts();
60 | echo Fragment::getJs();
61 | } ?>
62 |
--------------------------------------------------------------------------------
/install.php:
--------------------------------------------------------------------------------
1 | ensurePrimaryIdColumn()
5 | ->ensureColumn(new rex_sql_column('yrewrite_domain_id', 'int(10) unsigned'))
6 | ->ensureColumn(new rex_sql_column('name', 'varchar(191)', false, ''))
7 | ->ensureColumn(new rex_sql_column('logo', 'text'))
8 | ->ensureColumn(new rex_sql_column('type', 'varchar(191)', false, 'website'))
9 | ->ensureColumn(new rex_sql_column('thumbnail', 'text'))
10 | ->ensureColumn(new rex_sql_column('icon', 'int(10) unsigned'))
11 | ->ensureColumn(new rex_sql_column('favicon_png_96', 'text'))
12 | ->ensureColumn(new rex_sql_column('favicon_svg', 'text'))
13 | ->ensureIndex(new rex_sql_index('yrewrite_domain_id', ['yrewrite_domain_id']))
14 | ->ensure();
15 |
16 | rex_sql_table::get(rex::getTable('yrewrite_metainfo_icon'))
17 | ->ensurePrimaryIdColumn()
18 | ->ensureColumn(new rex_sql_column('name', 'varchar(191)', false, ''))
19 | ->ensureColumn(new rex_sql_column('short_name', 'varchar(191)', false, ''))
20 | ->ensureColumn(new rex_sql_column('display', 'varchar(191)'))
21 | ->ensureColumn(new rex_sql_column('theme_color', 'varchar(191)', false, '#ffffff'))
22 | ->ensureColumn(new rex_sql_column('background_color', 'varchar(191)', false, ''))
23 | ->ensureColumn(new rex_sql_column('shortcut_icon', 'text'))
24 | ->ensureColumn(new rex_sql_column('apple_touch_icon', 'text'))
25 | ->ensureColumn(new rex_sql_column('manifest', 'text'))
26 | ->removeColumn('icon_16')
27 | ->removeColumn('icon_32')
28 | ->removeColumn('safari_pinned_tab')
29 | ->removeColumn('msapplication_title_color')
30 | ->removeColumn('yrewrite_metainfo_theme_color')
31 | ->ensure();
32 |
33 | $addon = rex_addon::get('yrewrite_metainfo');
34 |
35 | if (rex_addon::get('yform')->isAvailable() && !rex::isSafeMode()) {
36 | rex_yform_manager_table_api::importTablesets(rex_file::get(__DIR__ . '/install/rex_yrewrite_metainfo.tableset.json')); // @phpstan-ignore-line
37 | rex_yform_manager_table_api::importTablesets(rex_file::get(__DIR__ . '/install/rex_yrewrite_metainfo_icon.tableset.json')); // @phpstan-ignore-line
38 | rex_yform_manager_table::deleteCache();
39 | }
40 |
--------------------------------------------------------------------------------
/lang/en_gb.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = YRewrite Domain Meta-Infos
2 | yrewrite_metainfo_title = Meta-Infos
3 |
4 | # Menu Tabs
5 | yrewrite_metainfo_domain = General
6 | yrewrite_metainfo_domain_icon = Icons and PWA Profiles
7 | yrewrite_metainfo_api = API Documentation
8 |
9 | # YForm Fields
10 | rex_yrewrite_metainfo_icon_table = 🌍 Icons and PWA Profiles
11 | rex_yrewrite_metainfo_domain_table = 🌍 Domain Meta-Infos
12 | yrewrite_metainfo_fields = Fields
13 |
14 | yrewrite_metainfo_logo_label = Logo
15 | yrewrite_metainfo_logo_notice = Logo that can be output in the template.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = OpenGraph-Type (default: website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = OpenGraph image (link preview, will be dynamically generated per article page in a later version)
21 |
22 | yrewrite_metainfo_icon_label = Profile (Icons, PWA)
23 | yrewrite_metainfo_icon_notice = In this profile, favicon and browser icons, color scheme, and many other properties for Progressive Web Apps can be specified, possibly for multiple domains.
24 |
25 | yrewrite_metainfo_icon_name_label = Profile name
26 | yrewrite_metainfo_icon_name_notice = Name of the profile (used only for display under "General")
27 | yrewrite_metainfo_shortname_label = PWA Short name (App shortcut)
28 | yrewrite_metainfo_shortname_notice = Used when the website is displayed as a PWA shortcut on the home screen or start menu.
29 | yrewrite_metainfo_display_label = PWA Browser UI
30 | yrewrite_metainfo_display_notice = Specifies how much browser UI is still visible within the PWA, e.g., reload button
31 | yrewrite_metainfo_theme_color = PWA Theme color
32 | yrewrite_metainfo_background_color_label = PWA Background color
33 | yrewrite_metainfo_background_color_notice = Background color, e.g., when starting the PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = PNG Favicon 96x96
39 | yrewrite_metainfo_favicon_svg = SVG Favicon
40 |
41 | yrewrite_metainfo_add = Add
42 | yrewrite_metainfo_edit = Edit
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = Upload realfavicongenerator.net ZIP
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Upload a ZIP archive from https://realfavicongenerator.net/ to automatically import the icons.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = ZIP file
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Upload and add
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- no category --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Automatically create new category
50 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Media category
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Media category for the uploaded files
52 |
53 |
54 |
--------------------------------------------------------------------------------
/lang/de_de.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = YRewrite Domain Meta-Infos
2 | yrewrite_metainfo_title = Meta-Infos
3 |
4 | # Menü-Reiter
5 | yrewrite_metainfo_domain = Allgemein
6 | yrewrite_metainfo_domain_icon = Icons und PWA-Profile
7 | yrewrite_metainfo_api = API-Dokumentation
8 |
9 | # YForm Felder
10 | rex_yrewrite_metainfo_icon_table = 🌍 Icons und PWA-Profile
11 | rex_yrewrite_metainfo_domain_table = 🌍 Domain-Metainfos
12 | yrewrite_metainfo_fields = Felder
13 |
14 | yrewrite_metainfo_logo_label = Logo
15 | yrewrite_metainfo_logo_notice = Logo, das im Template ausgegeben werden kann.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = OpenGraph-Type (Standard: website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = OpenGraph-Bild (Linkvorschau, wird zu einer späteren Version dynamisch pro Artikelseite)
21 |
22 | yrewrite_metainfo_icon_label = Profil (Icons, PWA)
23 | yrewrite_metainfo_icon_notice = In diesem Profil können Favicon- und Browser-Icons, Farbschema u.v.a. Eigenschaften für Progessive Web Apps ggf. für mehrere Domains angegeben werden.
24 |
25 | yrewrite_metainfo_icon_name_label = Profilname
26 | yrewrite_metainfo_icon_name_notice = Name des Profils (wird nur für die Anzeige unter "Allgemein" verwendet)
27 | yrewrite_metainfo_shortname_label = PWA Kurzname (App-Verknüpfung)
28 | yrewrite_metainfo_shortname_notice = Wird verwendet, wenn die Website als PWA-Verknüpfung auf dem Home-Screen oder Startmenü dargestellt wird.
29 | yrewrite_metainfo_display_label = PWA Browser-UI
30 | yrewrite_metainfo_display_notice = Gibt an, wie viel Browser-UI innerhalb der PWA noch sichtbar ist, z.B. Reload-Button
31 | yrewrite_metainfo_theme_color = PWA Theme-Farbe
32 | yrewrite_metainfo_background_color_label = PWA Hintergrund-Farbe
33 | yrewrite_metainfo_background_color_notice = Hintergrundfarbe, z.B. beim Starten der PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = PNG Favicon 96x96
39 | yrewrite_metainfo_favicon_svg = SVG Favicon
40 |
41 | yrewrite_metainfo_add = Hinzufügen
42 | yrewrite_metainfo_edit = Bearbeiten
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = realfavicongenerator.net ZIP hochladen
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Lade ein ZIP-Archiv von https://realfavicongenerator.net/ hoch, um die Icons automatisch zu importieren.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = ZIP-Datei
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Hochladen und hinzufügen
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- keine Kategorie --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Neue Kategorie automatisch anlegen
50 |
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Medien-Kategorie
52 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Medien-Kategorie für die hochgeladenen Dateien
53 |
54 | # Media Preview Field
55 | yrewrite_metainfo_click_to_enlarge = Zum Vergrößern klicken
56 |
--------------------------------------------------------------------------------
/lang/sv_se.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = YRewrite Domän Meta-Info
2 | yrewrite_metainfo_title = Meta-Info
3 |
4 | # Menyflikar
5 | yrewrite_metainfo_domain = Allmänt
6 | yrewrite_metainfo_domain_icon = Ikoner och PWA-profiler
7 | yrewrite_metainfo_docs = Dokumentation
8 |
9 | # YForm-fält
10 | rex_yrewrite_metainfo_icon_table = 🌍 Ikoner och PWA-profiler
11 | rex_yrewrite_metainfo_domain_table = 🌍 Domän Meta-Info
12 | yrewrite_metainfo_fields = Fält
13 |
14 | yrewrite_metainfo_logo_label = Logotyp
15 | yrewrite_metainfo_logo_notice = Logotyp som kan visas i mallen.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = OpenGraph-typ (standard: website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = OpenGraph-bild (länkförhandsvisning, kommer att genereras dynamiskt per artikelsida i en senare version)
21 |
22 | yrewrite_metainfo_icon_label = Profil (Ikoner, PWA)
23 | yrewrite_metainfo_icon_notice = I denna profil kan favicon- och webbläsarikoner, färgschema och många andra egenskaper för Progressive Web Apps anges, eventuellt för flera domäner.
24 |
25 | yrewrite_metainfo_icon_name_label = Profilnamn
26 | yrewrite_metainfo_icon_name_notice = Namn på profilen (används endast för visning under "Allmänt")
27 | yrewrite_metainfo_shortname_label = PWA Kortnamn (appgenväg)
28 | yrewrite_metainfo_shortname_notice = Används när webbplatsen visas som PWA-genväg på hemskärmen eller startmenyn.
29 | yrewrite_metainfo_display_label = PWA Webbläsargränssnitt
30 | yrewrite_metainfo_display_notice = Anger hur mycket webbläsargränssnitt som fortfarande är synligt i PWA, t.ex. omladdningsknappen
31 | yrewrite_metainfo_theme_color = PWA Temafärg
32 | yrewrite_metainfo_background_color_label = PWA Bakgrundsfärg
33 | yrewrite_metainfo_background_color_notice = Bakgrundsfärg, t.ex. vid start av PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = PNG Favicon 96x96
39 | yrewrite_metainfo_favicon_svg = SVG Favicon
40 |
41 | yrewrite_metainfo_add = Lägg till
42 | yrewrite_metainfo_edit = Redigera
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = Ladda upp realfavicongenerator.net ZIP
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Ladda upp ett ZIP-arkiv från https://realfavicongenerator.net/ för att automatiskt importera ikonerna.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = ZIP-fil
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Ladda upp och lägg till
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- ingen kategori --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Skapa automatiskt ny kategori
50 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Mediekategori
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Mediekategori för de uppladdade filerna
52 |
53 | # Dokumentation
54 | yrewrite_metainfo_docs_intro = Introduktion
55 | yrewrite_metainfo_docs_domain = Domän Meta-Info
56 | yrewrite_metainfo_docs_icon_pwa = Ikoner och PWA
57 | yrewrite_metainfo_docs_fragments = Fragment
58 |
--------------------------------------------------------------------------------
/lang/ru_ru.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = Мета-информация домена YRewrite
2 | yrewrite_metainfo_title = Мета-информация
3 |
4 | # Вкладки меню
5 | yrewrite_metainfo_domain = Общие
6 | yrewrite_metainfo_domain_icon = Иконки и профили PWA
7 | yrewrite_metainfo_docs = Документация
8 |
9 | # Поля YForm
10 | rex_yrewrite_metainfo_icon_table = 🌍 Иконки и профили PWA
11 | rex_yrewrite_metainfo_domain_table = 🌍 Мета-информация домена
12 | yrewrite_metainfo_fields = Поля
13 |
14 | yrewrite_metainfo_logo_label = Логотип
15 | yrewrite_metainfo_logo_notice = Логотип, который можно вывести в шаблоне.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = Тип OpenGraph (по умолчанию: website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = Изображение OpenGraph (превью ссылки, будет динамически генерироваться для каждой страницы статьи в следующей версии)
21 |
22 | yrewrite_metainfo_icon_label = Профиль (Иконки, PWA)
23 | yrewrite_metainfo_icon_notice = В этом профиле можно указать иконки favicon и браузера, цветовую схему и многие другие свойства для Progressive Web Apps, возможно, для нескольких доменов.
24 |
25 | yrewrite_metainfo_icon_name_label = Название профиля
26 | yrewrite_metainfo_icon_name_notice = Название профиля (используется только для отображения в разделе "Общие")
27 | yrewrite_metainfo_shortname_label = Короткое название PWA (ярлык приложения)
28 | yrewrite_metainfo_shortname_notice = Используется, когда сайт отображается как ярлык PWA на главном экране или в меню «Пуск».
29 | yrewrite_metainfo_display_label = Интерфейс браузера PWA
30 | yrewrite_metainfo_display_notice = Указывает, какая часть интерфейса браузера все еще видна в PWA, например, кнопка обновления
31 | yrewrite_metainfo_theme_color = Цвет темы PWA
32 | yrewrite_metainfo_background_color_label = Цвет фона PWA
33 | yrewrite_metainfo_background_color_notice = Цвет фона, например, при запуске PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = PNG Favicon 96x96
39 | yrewrite_metainfo_favicon_svg = SVG Favicon
40 |
41 | yrewrite_metainfo_add = Добавить
42 | yrewrite_metainfo_edit = Редактировать
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = Загрузить ZIP с realfavicongenerator.net
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Загрузите ZIP-архив с https://realfavicongenerator.net/ для автоматического импорта иконок.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = ZIP-файл
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Загрузить и добавить
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- без категории --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Автоматически создать новую категорию
50 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Категория медиа
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Категория медиа для загруженных файлов
52 |
53 | # Документация
54 | yrewrite_metainfo_docs_intro = Введение
55 | yrewrite_metainfo_docs_domain = Мета-информация домена
56 | yrewrite_metainfo_docs_icon_pwa = Иконки и PWA
57 | yrewrite_metainfo_docs_fragments = Фрагменты
58 |
--------------------------------------------------------------------------------
/lang/pt_br.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = Meta-Informações de Domínio YRewrite
2 | yrewrite_metainfo_title = Meta-Informações
3 |
4 | # Abas do menu
5 | yrewrite_metainfo_domain = Geral
6 | yrewrite_metainfo_domain_icon = Ícones e perfis PWA
7 | yrewrite_metainfo_docs = Documentação
8 |
9 | # Campos YForm
10 | rex_yrewrite_metainfo_icon_table = 🌍 Ícones e perfis PWA
11 | rex_yrewrite_metainfo_domain_table = 🌍 Meta-Informações de Domínio
12 | yrewrite_metainfo_fields = Campos
13 |
14 | yrewrite_metainfo_logo_label = Logotipo
15 | yrewrite_metainfo_logo_notice = Logotipo que pode ser exibido no template.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = Tipo OpenGraph (padrão: website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = Imagem OpenGraph (pré-visualização do link, será gerada dinamicamente por página de artigo em uma versão posterior)
21 |
22 | yrewrite_metainfo_icon_label = Perfil (Ícones, PWA)
23 | yrewrite_metainfo_icon_notice = Neste perfil, ícones de favicon e navegador, esquema de cores e muitas outras propriedades para Progressive Web Apps podem ser especificados, possivelmente para vários domínios.
24 |
25 | yrewrite_metainfo_icon_name_label = Nome do perfil
26 | yrewrite_metainfo_icon_name_notice = Nome do perfil (usado apenas para exibição em "Geral")
27 | yrewrite_metainfo_shortname_label = Nome curto PWA (atalho do aplicativo)
28 | yrewrite_metainfo_shortname_notice = Usado quando o site é exibido como atalho PWA na tela inicial ou menu iniciar.
29 | yrewrite_metainfo_display_label = Interface do navegador PWA
30 | yrewrite_metainfo_display_notice = Especifica quanta interface do navegador ainda está visível dentro do PWA, por exemplo, botão de recarregar
31 | yrewrite_metainfo_theme_color = Cor do tema PWA
32 | yrewrite_metainfo_background_color_label = Cor de fundo PWA
33 | yrewrite_metainfo_background_color_notice = Cor de fundo, por exemplo, ao iniciar o PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = Favicon PNG 96x96
39 | yrewrite_metainfo_favicon_svg = Favicon SVG
40 |
41 | yrewrite_metainfo_add = Adicionar
42 | yrewrite_metainfo_edit = Editar
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = Enviar ZIP do realfavicongenerator.net
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Envie um arquivo ZIP de https://realfavicongenerator.net/ para importar automaticamente os ícones.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = Arquivo ZIP
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Enviar e adicionar
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- sem categoria --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Criar automaticamente nova categoria
50 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Categoria de mídia
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Categoria de mídia para os arquivos enviados
52 |
53 | # Documentação
54 | yrewrite_metainfo_docs_intro = Introdução
55 | yrewrite_metainfo_docs_domain = Meta-Informações de Domínio
56 | yrewrite_metainfo_docs_icon_pwa = Ícones e PWA
57 | yrewrite_metainfo_docs_fragments = Fragmentos
58 |
--------------------------------------------------------------------------------
/lang/it_it.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = Meta-Info del dominio YRewrite
2 | yrewrite_metainfo_title = Meta-Info
3 |
4 | # Schede del menu
5 | yrewrite_metainfo_domain = Generale
6 | yrewrite_metainfo_domain_icon = Icone e profili PWA
7 | yrewrite_metainfo_docs = Documentazione
8 |
9 | # Campi YForm
10 | rex_yrewrite_metainfo_icon_table = 🌍 Icone e profili PWA
11 | rex_yrewrite_metainfo_domain_table = 🌍 Meta-Info del dominio
12 | yrewrite_metainfo_fields = Campi
13 |
14 | yrewrite_metainfo_logo_label = Logo
15 | yrewrite_metainfo_logo_notice = Logo che può essere visualizzato nel template.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = Tipo OpenGraph (predefinito: website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = Immagine OpenGraph (anteprima del link, sarà generata dinamicamente per pagina articolo in una versione successiva)
21 |
22 | yrewrite_metainfo_icon_label = Profilo (Icone, PWA)
23 | yrewrite_metainfo_icon_notice = In questo profilo è possibile specificare icone favicon e browser, schema di colori e molte altre proprietà per Progressive Web Apps, eventualmente per più domini.
24 |
25 | yrewrite_metainfo_icon_name_label = Nome del profilo
26 | yrewrite_metainfo_icon_name_notice = Nome del profilo (utilizzato solo per la visualizzazione sotto "Generale")
27 | yrewrite_metainfo_shortname_label = Nome breve PWA (collegamento app)
28 | yrewrite_metainfo_shortname_notice = Utilizzato quando il sito web viene visualizzato come collegamento PWA sulla schermata iniziale o nel menu di avvio.
29 | yrewrite_metainfo_display_label = UI del browser PWA
30 | yrewrite_metainfo_display_notice = Specifica quanta UI del browser è ancora visibile all'interno della PWA, ad esempio il pulsante di ricarica
31 | yrewrite_metainfo_theme_color = Colore del tema PWA
32 | yrewrite_metainfo_background_color_label = Colore di sfondo PWA
33 | yrewrite_metainfo_background_color_notice = Colore di sfondo, ad esempio all'avvio della PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = Favicon PNG 96x96
39 | yrewrite_metainfo_favicon_svg = Favicon SVG
40 |
41 | yrewrite_metainfo_add = Aggiungi
42 | yrewrite_metainfo_edit = Modifica
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = Carica ZIP da realfavicongenerator.net
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Carica un archivio ZIP da https://realfavicongenerator.net/ per importare automaticamente le icone.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = File ZIP
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Carica e aggiungi
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- nessuna categoria --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Crea automaticamente nuova categoria
50 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Categoria media
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Categoria media per i file caricati
52 |
53 | # Documentazione
54 | yrewrite_metainfo_docs_intro = Introduzione
55 | yrewrite_metainfo_docs_domain = Meta-Info del dominio
56 | yrewrite_metainfo_docs_icon_pwa = Icone e PWA
57 | yrewrite_metainfo_docs_fragments = Frammenti
58 |
--------------------------------------------------------------------------------
/lang/nl_nl.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = YRewrite Domein Meta-Infos
2 | yrewrite_metainfo_title = Meta-Infos
3 |
4 | # Menu-tabbladen
5 | yrewrite_metainfo_domain = Algemeen
6 | yrewrite_metainfo_domain_icon = Pictogrammen en PWA-profielen
7 | yrewrite_metainfo_docs = Documentatie
8 |
9 | # YForm-velden
10 | rex_yrewrite_metainfo_icon_table = 🌍 Pictogrammen en PWA-profielen
11 | rex_yrewrite_metainfo_domain_table = 🌍 Domein Meta-Infos
12 | yrewrite_metainfo_fields = Velden
13 |
14 | yrewrite_metainfo_logo_label = Logo
15 | yrewrite_metainfo_logo_notice = Logo dat in de sjabloon kan worden weergegeven.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = OpenGraph-Type (standaard: website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = OpenGraph-afbeelding (linkvoorbeeld, wordt dynamisch per artikelpagina gegenereerd in een latere versie)
21 |
22 | yrewrite_metainfo_icon_label = Profiel (Pictogrammen, PWA)
23 | yrewrite_metainfo_icon_notice = In dit profiel kunnen favicon- en browserpictogrammen, kleurenschema en vele andere eigenschappen voor Progressive Web Apps worden opgegeven, mogelijk voor meerdere domeinen.
24 |
25 | yrewrite_metainfo_icon_name_label = Profielnaam
26 | yrewrite_metainfo_icon_name_notice = Naam van het profiel (alleen gebruikt voor weergave onder "Algemeen")
27 | yrewrite_metainfo_shortname_label = PWA Korte naam (app-snelkoppeling)
28 | yrewrite_metainfo_shortname_notice = Wordt gebruikt wanneer de website wordt weergegeven als PWA-snelkoppeling op het startscherm of startmenu.
29 | yrewrite_metainfo_display_label = PWA Browser-UI
30 | yrewrite_metainfo_display_notice = Geeft aan hoeveel browser-UI nog zichtbaar is binnen de PWA, bijvoorbeeld de herlaadknop
31 | yrewrite_metainfo_theme_color = PWA Themakleur
32 | yrewrite_metainfo_background_color_label = PWA Achtergrondkleur
33 | yrewrite_metainfo_background_color_notice = Achtergrondkleur, bijvoorbeeld bij het starten van de PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = PNG Favicon 96x96
39 | yrewrite_metainfo_favicon_svg = SVG Favicon
40 |
41 | yrewrite_metainfo_add = Toevoegen
42 | yrewrite_metainfo_edit = Bewerken
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = realfavicongenerator.net ZIP uploaden
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Upload een ZIP-archief van https://realfavicongenerator.net/ om de pictogrammen automatisch te importeren.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = ZIP-bestand
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Uploaden en toevoegen
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- geen categorie --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Automatisch nieuwe categorie aanmaken
50 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Mediacategorie
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Mediacategorie voor de geüploade bestanden
52 |
53 | # Documentatie
54 | yrewrite_metainfo_docs_intro = Introductie
55 | yrewrite_metainfo_docs_domain = Domein Meta-Infos
56 | yrewrite_metainfo_docs_icon_pwa = Pictogrammen en PWA
57 | yrewrite_metainfo_docs_fragments = Fragmenten
58 |
--------------------------------------------------------------------------------
/lang/es_es.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = Meta-Infos de dominio YRewrite
2 | yrewrite_metainfo_title = Meta-Infos
3 |
4 | # Pestañas del menú
5 | yrewrite_metainfo_domain = General
6 | yrewrite_metainfo_domain_icon = Iconos y perfiles PWA
7 | yrewrite_metainfo_docs = Documentación
8 |
9 | # Campos YForm
10 | rex_yrewrite_metainfo_icon_table = 🌍 Iconos y perfiles PWA
11 | rex_yrewrite_metainfo_domain_table = 🌍 Meta-Infos de dominio
12 | yrewrite_metainfo_fields = Campos
13 |
14 | yrewrite_metainfo_logo_label = Logotipo
15 | yrewrite_metainfo_logo_notice = Logotipo que se puede mostrar en la plantilla.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = Tipo OpenGraph (predeterminado: website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = Imagen OpenGraph (vista previa del enlace, se generará dinámicamente por página de artículo en una versión posterior)
21 |
22 | yrewrite_metainfo_icon_label = Perfil (Iconos, PWA)
23 | yrewrite_metainfo_icon_notice = En este perfil se pueden especificar iconos de favicon y navegador, esquema de colores y muchas otras propiedades para Progressive Web Apps, posiblemente para varios dominios.
24 |
25 | yrewrite_metainfo_icon_name_label = Nombre del perfil
26 | yrewrite_metainfo_icon_name_notice = Nombre del perfil (se usa solo para mostrar en "General")
27 | yrewrite_metainfo_shortname_label = Nombre corto PWA (acceso directo de aplicación)
28 | yrewrite_metainfo_shortname_notice = Se usa cuando el sitio web se muestra como acceso directo PWA en la pantalla de inicio o menú de inicio.
29 | yrewrite_metainfo_display_label = Interfaz de usuario del navegador PWA
30 | yrewrite_metainfo_display_notice = Especifica cuánta interfaz de usuario del navegador sigue visible dentro de la PWA, por ejemplo, botón de recarga
31 | yrewrite_metainfo_theme_color = Color de tema PWA
32 | yrewrite_metainfo_background_color_label = Color de fondo PWA
33 | yrewrite_metainfo_background_color_notice = Color de fondo, por ejemplo, al iniciar la PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = Favicon PNG 96x96
39 | yrewrite_metainfo_favicon_svg = Favicon SVG
40 |
41 | yrewrite_metainfo_add = Añadir
42 | yrewrite_metainfo_edit = Editar
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = Subir ZIP de realfavicongenerator.net
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Sube un archivo ZIP desde https://realfavicongenerator.net/ para importar automáticamente los iconos.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = Archivo ZIP
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Subir y añadir
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- sin categoría --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Crear automáticamente nueva categoría
50 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Categoría de medios
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Categoría de medios para los archivos subidos
52 |
53 | # Documentación
54 | yrewrite_metainfo_docs_intro = Introducción
55 | yrewrite_metainfo_docs_domain = Meta-Infos de dominio
56 | yrewrite_metainfo_docs_icon_pwa = Iconos y PWA
57 | yrewrite_metainfo_docs_fragments = Fragmentos
58 |
--------------------------------------------------------------------------------
/lang/fr_fr.lang:
--------------------------------------------------------------------------------
1 | yrewrite_metainfo = Méta-Infos du domaine YRewrite
2 | yrewrite_metainfo_title = Méta-Infos
3 |
4 | # Onglets du menu
5 | yrewrite_metainfo_domain = Général
6 | yrewrite_metainfo_domain_icon = Icônes et profils PWA
7 | yrewrite_metainfo_docs = Documentation
8 |
9 | # Champs YForm
10 | rex_yrewrite_metainfo_icon_table = 🌍 Icônes et profils PWA
11 | rex_yrewrite_metainfo_domain_table = 🌍 Méta-Infos du domaine
12 | yrewrite_metainfo_fields = Champs
13 |
14 | yrewrite_metainfo_logo_label = Logo
15 | yrewrite_metainfo_logo_notice = Logo qui peut être affiché dans le modèle.
16 |
17 | yrewrite_metainfo_type_label = og:type
18 | yrewrite_metainfo_type_notice = Type OpenGraph (par défaut : website)
19 | yrewrite_metainfo_thumbnail_label = og:image
20 | yrewrite_metainfo_thumbnail_notification = Image OpenGraph (aperçu du lien, sera générée dynamiquement par page d'article dans une version ultérieure)
21 |
22 | yrewrite_metainfo_icon_label = Profil (Icônes, PWA)
23 | yrewrite_metainfo_icon_notice = Dans ce profil, les icônes de favicon et de navigateur, le jeu de couleurs et de nombreuses autres propriétés pour les Progressive Web Apps peuvent être spécifiés, éventuellement pour plusieurs domaines.
24 |
25 | yrewrite_metainfo_icon_name_label = Nom du profil
26 | yrewrite_metainfo_icon_name_notice = Nom du profil (utilisé uniquement pour l'affichage sous "Général")
27 | yrewrite_metainfo_shortname_label = Nom court PWA (raccourci d'application)
28 | yrewrite_metainfo_shortname_notice = Utilisé lorsque le site Web est affiché comme raccourci PWA sur l'écran d'accueil ou le menu de démarrage.
29 | yrewrite_metainfo_display_label = Interface utilisateur du navigateur PWA
30 | yrewrite_metainfo_display_notice = Indique la quantité d'interface utilisateur du navigateur encore visible dans la PWA, par exemple le bouton de rechargement
31 | yrewrite_metainfo_theme_color = Couleur de thème PWA
32 | yrewrite_metainfo_background_color_label = Couleur d'arrière-plan PWA
33 | yrewrite_metainfo_background_color_notice = Couleur d'arrière-plan, par exemple lors du démarrage de la PWA
34 |
35 | yrewrite_metainfo_shortcut_icon = Favicon
36 | yrewrite_metainfo_apple_touch_icon = Apple Touch
37 | yrewrite_metainfo_manifest = webmanifest.json
38 | yrewrite_metainfo_favicon_png_96 = Favicon PNG 96x96
39 | yrewrite_metainfo_favicon_svg = Favicon SVG
40 |
41 | yrewrite_metainfo_add = Ajouter
42 | yrewrite_metainfo_edit = Modifier
43 |
44 | yrewrite_metainfo_domain_icon_zip_upload_title = Télécharger le ZIP de realfavicongenerator.net
45 | yrewrite_metainfo_domain_icon_zip_upload_notice = Téléchargez une archive ZIP depuis https://realfavicongenerator.net/ pour importer automatiquement les icônes.
46 | yrewrite_metainfo_domain_icon_zip_upload_label = Fichier ZIP
47 | yrewrite_metainfo_domain_icon_zip_upload_submit = Télécharger et ajouter
48 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_root = -- aucune catégorie --
49 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_option_new = Créer automatiquement une nouvelle catégorie
50 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_label = Catégorie de média
51 | yrewrite_metainfo_domain_icon_zip_upload_media_category_id_notice = Catégorie de média pour les fichiers téléchargés
52 |
53 | # Documentation
54 | yrewrite_metainfo_docs_intro = Introduction
55 | yrewrite_metainfo_docs_domain = Méta-Infos du domaine
56 | yrewrite_metainfo_docs_icon_pwa = Icônes et PWA
57 | yrewrite_metainfo_docs_fragments = Fragments
58 |
--------------------------------------------------------------------------------
/assets/media_preview.css:
--------------------------------------------------------------------------------
1 | /* YRewrite Metainfo Media Preview Styles */
2 |
3 | .rex-media-preview-container {
4 | background: #f8f9fa;
5 | border-radius: 8px;
6 | padding: 10px;
7 | margin-top: 10px;
8 | }
9 |
10 | .rex-media-preview-item {
11 | position: relative;
12 | transition: all 0.3s ease;
13 | }
14 |
15 | .rex-media-preview-item:hover {
16 | transform: translateY(-2px);
17 | }
18 |
19 | .rex-js-media-preview-click {
20 | box-shadow: 0 2px 8px rgba(0,0,0,0.1);
21 | transition: all 0.3s ease;
22 | }
23 |
24 | .rex-js-media-preview-click:hover {
25 | box-shadow: 0 4px 16px rgba(0,0,0,0.15);
26 | transform: scale(1.05);
27 | }
28 |
29 | /* Modal Styling */
30 | .rex-media-preview-modal .modal-content {
31 | border-radius: 12px;
32 | overflow: hidden;
33 | box-shadow: 0 10px 40px rgba(0,0,0,0.3);
34 | }
35 |
36 | .rex-media-preview-modal .modal-header {
37 | background: #f8f9fa;
38 | border-bottom: 1px solid #dee2e6;
39 | }
40 |
41 | .rex-media-preview-modal .modal-body {
42 | background: #fff;
43 | }
44 |
45 | /* SVG specific styling */
46 | .rex-media-preview-item img[src$=".svg"],
47 | .rex-media-preview-item img[title*="(SVG)"] {
48 | background: #f8f9fa;
49 | padding: 8px;
50 | object-fit: contain !important;
51 | }
52 |
53 | .rex-media-preview-view img[src$=".svg"],
54 | .rex-media-preview-view img[title*="(SVG)"] {
55 | background: #f8f9fa;
56 | padding: 4px;
57 | object-fit: contain !important;
58 | }
59 |
60 | /* Responsive Improvements */
61 | @media (max-width: 768px) {
62 | .rex-media-preview-item img {
63 | width: 60px !important;
64 | height: 60px !important;
65 | }
66 |
67 | .modal-lg {
68 | max-width: 95vw;
69 | }
70 |
71 | .modal-dialog {
72 | margin: 15px auto;
73 | }
74 | }
75 |
76 | /* Lazy Loading Styles */
77 | .rex-media-lazy {
78 | opacity: 0.7;
79 | background: #f8f9fa;
80 | transition: opacity 0.3s ease;
81 | position: relative;
82 | }
83 |
84 | .rex-media-lazy.loaded {
85 | opacity: 1;
86 | }
87 |
88 | .rex-media-lazy:not(.loaded)::after {
89 | content: '';
90 | position: absolute;
91 | top: 50%;
92 | left: 50%;
93 | transform: translate(-50%, -50%);
94 | width: 20px;
95 | height: 20px;
96 | border: 2px solid #ddd;
97 | border-top: 2px solid #337ab7;
98 | border-radius: 50%;
99 | animation: spin 1s linear infinite;
100 | pointer-events: none;
101 | }
102 |
103 | @keyframes spin {
104 | 0% { transform: translate(-50%, -50%) rotate(0deg); }
105 | 100% { transform: translate(-50%, -50%) rotate(360deg); }
106 | }
107 |
108 | /* Dark Mode Support */
109 | @media (prefers-color-scheme: dark) {
110 | .rex-media-preview-container {
111 | background: #343a40;
112 | }
113 |
114 | .rex-js-media-preview-click {
115 | border-color: #495057;
116 | }
117 |
118 | .rex-media-preview-modal .modal-content {
119 | background: #212529;
120 | color: #fff;
121 | }
122 |
123 | .rex-media-preview-modal .modal-header {
124 | background: #343a40;
125 | border-color: #495057;
126 | }
127 |
128 | .rex-media-lazy {
129 | background: #343a40;
130 | }
131 |
132 | .rex-media-lazy:not(.loaded)::after {
133 | border-color: #495057;
134 | border-top-color: #007bff;
135 | }
136 | }
--------------------------------------------------------------------------------
/boot.php:
--------------------------------------------------------------------------------
1 | getAssetsUrl('media_preview.css'));
36 | rex_view::addJsFile(rex_addon::get('yrewrite_metainfo')->getAssetsUrl('media_preview.js'));
37 | }
38 |
39 | // Listendarstellung von YRewrite Domains um eine Spalte ergänzen mit Link zu YRewrite Metainfos
40 | rex_extension::register('REX_LIST_GET', static function (rex_extension_point $ep) {
41 | if ('yrewrite/domains' !== $ep->getSubject()->getParams()['page']) {
42 | return;
43 | }
44 | $list = $ep->getSubject();
45 | /** @var rex_list $list */
46 | $list->addColumn(rex_i18n::msg('yrewrite_metainfo_title'), '', 3);
47 | $list->setColumnFormat(rex_i18n::msg('yrewrite_metainfo_title'), 'custom', static function ($a) {
48 | $table = rex_yform_manager_table::get('rex_yrewrite_metainfo');
49 | if (!is_object($table)) {
50 | return '';
51 | }
52 | $_csrf_key = $table->getCSRFKey();
53 | $token = rex_csrf_token::factory($_csrf_key)->getUrlParams();
54 |
55 | $domain = Domain::query()
56 | ->where('yrewrite_domain_id', $a['list']->getValue('id'))
57 | ->findOne();
58 |
59 | $params = [];
60 | $params['table_name'] = 'rex_yrewrite_metainfo';
61 | $params['rex_yform_manager_popup'] = '0';
62 | $params['_csrf_token'] = $token['_csrf_token'];
63 |
64 | if (null !== $domain) {
65 | $params['data_id'] = $domain->getId();
66 | $params['func'] = 'edit';
67 | return '' . rex_i18n::msg('yrewrite_metainfo_edit') . '';
68 | }
69 |
70 | // Link zur neuen YRewrite-Metainfo-Domain erstellen
71 | $params['func'] = 'add';
72 | return '' . rex_i18n::msg('yrewrite_metainfo_add') . '';
73 | });
74 |
75 | return $list;
76 | });
77 |
78 | rex_extension::register('YFORM_DATA_LIST', static function (rex_extension_point $ep) {
79 | /** @var rex_yform_manager_table $table */
80 | $table = $ep->getParam('table');
81 | if ('rex_yrewrite_metainfo_icon' !== $table->getTableName()) {
82 | return;
83 | }
84 |
85 | /** @var rex_yform_list $list */
86 | $list = $ep->getSubject();
87 |
88 | // set column format for theme_color and background_color columns as bootstrap 3 badges
89 | $list->setColumnFormat('theme_color', 'custom', static function ($a) {
90 | return '' . $a['list']->getValue('theme_color') . '';
91 | });
92 |
93 | $list->setColumnFormat('background_color', 'custom', static function ($a) {
94 | return '' . $a['list']->getValue('background_color') . '';
95 | });
96 |
97 | return $list;
98 | });
99 |
--------------------------------------------------------------------------------
/ytemplates/bootstrap/value.yrewrite_metainfo_be_media_preview-view.tpl.php:
--------------------------------------------------------------------------------
1 | getValue();
8 | $files = [];
9 | if ($value) {
10 | $files = explode(',', $value);
11 | }
12 |
13 | // Eindeutige Modal-ID für View-Modus generieren
14 | $modalId = 'rex-media-view-modal-' . uniqid();
15 |
16 | if (empty($files) || (1 == count($files) && empty($files[0]))): ?>
17 |
-
18 | 19 |' . implode('
', $notice) . '
<meta name=\"theme-color\"><\/code>",
89 | "prepend": "",
90 | "prio": 5,
91 | "search": 0,
92 | "table_name": "rex_yrewrite_metainfo_icon",
93 | "type_id": "value",
94 | "type_name": "text"
95 | },
96 | {
97 | "append": "",
98 | "attributes": "",
99 | "db_type": "varchar(191)",
100 | "default": "",
101 | "label": "translate:yrewrite_metainfo_background_color_label",
102 | "list_hidden": 1,
103 | "name": "background_color",
104 | "no_db": "",
105 | "not_required": "",
106 | "notice": "translate:yrewrite_metainfo_background_color_notice",
107 | "prepend": "",
108 | "prio": 7,
109 | "search": 0,
110 | "table_name": "rex_yrewrite_metainfo_icon",
111 | "type_id": "value",
112 | "type_name": "text"
113 | },
114 | {
115 | "db_type": "none",
116 | "html": "<\/div>\r\n ",
117 | "label": "",
118 | "list_hidden": 0,
119 | "name": "col_2",
120 | "not_required": "",
121 | "prio": 9,
122 | "search": 0,
123 | "table_name": "rex_yrewrite_metainfo_icon",
124 | "type_id": "value",
125 | "type_name": "html"
126 | },
127 | {
128 | "category": "",
129 | "db_type": "text",
130 | "label": "translate:yrewrite_metainfo_shortcut_icon",
131 | "list_hidden": 1,
132 | "multiple": "",
133 | "name": "shortcut_icon",
134 | "not_required": "",
135 | "notice": "favicon.ico<\/code>",
136 | "preview": "1",
137 | "prio": 10,
138 | "search": 0,
139 | "table_name": "rex_yrewrite_metainfo_icon",
140 | "type_id": "value",
141 | "type_name": "be_media",
142 | "types": "ico,png,svg"
143 | },
144 | {
145 | "category": "",
146 | "db_type": "text",
147 | "label": "translate:yrewrite_metainfo_apple_touch_icon",
148 | "list_hidden": 1,
149 | "multiple": "",
150 | "name": "apple_touch_icon",
151 | "not_required": "",
152 | "notice": "apple-touch-icon.png<\/code>",
153 | "preview": "1",
154 | "prio": 11,
155 | "search": 0,
156 | "table_name": "rex_yrewrite_metainfo_icon",
157 | "type_id": "value",
158 | "type_name": "be_media",
159 | "types": ""
160 | },
161 | {
162 | "append": "",
163 | "attributes": "",
164 | "db_type": "text",
165 | "default": "",
166 | "label": "translate:yrewrite_metainfo_manifest",
167 | "list_hidden": 1,
168 | "name": "manifest",
169 | "no_db": "",
170 | "not_required": "",
171 | "notice": "site.webmanifest<\/code>",
172 | "prepend": "",
173 | "prio": 12,
174 | "search": 0,
175 | "table_name": "rex_yrewrite_metainfo_icon",
176 | "type_id": "value",
177 | "type_name": "text"
178 | },
179 | {
180 | "category": "",
181 | "db_type": "text",
182 | "label": "translate:yrewrite_metainfo_favicon_png_96",
183 | "list_hidden": 1,
184 | "multiple": "",
185 | "name": "favicon_png_96",
186 | "not_required": "",
187 | "notice": "favicon-96x96.png<\/code>",
188 | "preview": "1",
189 | "prio": 13,
190 | "search": 0,
191 | "table_name": "rex_yrewrite_metainfo_icon",
192 | "type_id": "value",
193 | "type_name": "be_media",
194 | "types": ""
195 | },
196 | {
197 | "category": "",
198 | "db_type": "text",
199 | "label": "translate:yrewrite_metainfo_favicon_svg",
200 | "list_hidden": 1,
201 | "multiple": "",
202 | "name": "favicon_svg",
203 | "not_required": "",
204 | "notice": "favicon.svg<\/code>",
205 | "preview": "1",
206 | "prio": 14,
207 | "search": 0,
208 | "table_name": "rex_yrewrite_metainfo_icon",
209 | "type_id": "value",
210 | "type_name": "yrewrite_metainfo_be_media_preview",
211 | "types": ""
212 | }
213 | ],
214 | "table": {
215 | "createdate": "0000-00-00 00:00:00",
216 | "createuser": "",
217 | "description": "",
218 | "export": 1,
219 | "hidden": 1,
220 | "history": 0,
221 | "import": 1,
222 | "list_amount": 50,
223 | "list_sortfield": "short_name",
224 | "list_sortorder": "ASC",
225 | "mass_deletion": 0,
226 | "mass_edit": 0,
227 | "name": "translate:rex_yrewrite_metainfo_icon_table",
228 | "schema_overwrite": 1,
229 | "search": 0,
230 | "status": 1,
231 | "table_icon": "",
232 | "table_name": "rex_yrewrite_metainfo_icon",
233 | "updatedate": "0000-00-00 00:00:00",
234 | "updateuser": ""
235 | }
236 | }
237 | }
238 |
--------------------------------------------------------------------------------
/api.md:
--------------------------------------------------------------------------------
1 | # YRewrite Metainfo - API-Dokumentation
2 |
3 | Meta-Infos und globale Einstellungen für REDAXO auf Basis von YForm 4+ und YRewrite
4 |
5 | Ergänzt YRewrite-Domains um die Möglichkeit, Metainformationen an Domains zu verwalten. Mit vorgefertigten, einfachen aber sinnvollen Konfigurationsfeldern, passender YOrm-Dataset-Methoden und Backend-Seiten für die Eingabe.
6 |
7 | ## Die Klasse `Domain`
8 |
9 | Kind-Klasse von `rex_yform_manager_dataset`, damit stehen alle Methoden von YOrm-Datasets zur Verfügung. Greift auf die Tabelle `rex_yrewrite_metainfo` zu.
10 |
11 | > Es werden nachfolgend nur die durch dieses Addon ergänzten Methoden beschrieben. Lerne mehr über YOrm und die Methoden für Querys, Datasets und Collections in der [YOrm Doku](https://github.com/yakamara/yform/blob/master/docs/04_yorm.md)
12 |
13 | ### Infos zur aktuellen Domain erhalten
14 |
15 | ```php
16 | $domain = Domain::getCurrent(); // Aktuelle Domain
17 | $domain->getName(); // Website-Titel
18 | $domain->getLogo(); // Logo
19 | $domain->getValue('mein_feld') // Eigene Felder auslesen
20 |
21 | // Statische Methoden
22 | Domain::getCurrentValue('mein_feld'); // Direkt Wert der aktuellen Domain abrufen
23 | Domain::getHead(); // HTML-Head-Fragment ausgeben
24 | ```
25 |
26 | ### Verfügbare Methoden
27 |
28 | #### `getYrewriteDomainId()`
29 |
30 | Gibt den Wert für das Feld `yrewrite_domain_id` (Domain) zurück:
31 |
32 | ```php
33 | $dataset = Domain::get($id);
34 | echo $dataset->getYrewriteDomainId();
35 | ```
36 |
37 | #### `setYrewriteDomainId(mixed $value)`
38 |
39 | Setzt den Wert für das Feld `yrewrite_domain_id` (Domain).
40 |
41 | ```php
42 | $dataset = Domain::create();
43 | $dataset->setYrewriteDomainId($value);
44 | $dataset->save();
45 | ```
46 |
47 | #### `getName()`
48 |
49 | Gibt den Wert für das Feld `name` (Website-Titel) zurück:
50 |
51 | ```php
52 | $dataset = Domain::get($id);
53 | echo $dataset->getName();
54 | ```
55 |
56 | #### `setName(mixed $value)`
57 |
58 | Setzt den Wert für das Feld `name` (Website-Titel).
59 |
60 | ```php
61 | $dataset = Domain::create();
62 | $dataset->setName($value);
63 | $dataset->save();
64 | ```
65 |
66 | #### `getLogo(bool $asMedia = false)`
67 |
68 | Gibt den Wert für das Feld `logo` (Logo) zurück: Logo, das im Template ausgegeben werden kann.
69 |
70 | ```php
71 | $dataset = Domain::get($id);
72 | $media = $dataset->getLogo(true);
73 | ```
74 |
75 | #### `setLogo(string $filename)`
76 |
77 | Setzt den Wert für das Feld `logo` (Logo).
78 |
79 | ```php
80 | $dataset = Domain::create();
81 | $dataset->setLogo($filename);
82 | $dataset->save();
83 | ```
84 |
85 | #### `getType()`
86 |
87 | Gibt den Wert für das Feld `type` (og:type) zurück: OpenGraph-Type (Standard: `website`)
88 |
89 | ```php
90 | $dataset = Domain::get($id);
91 | echo $dataset->getType();
92 | ```
93 |
94 | #### `setType(mixed $value)`
95 |
96 | Setzt den Wert für das Feld `type` (og:type).
97 |
98 | ```php
99 | $dataset = Domain::create();
100 | $dataset->setType($value);
101 | $dataset->save();
102 | ```
103 |
104 | #### `getThumbnail(bool $asMedia = false)`
105 |
106 | Gibt den Wert für das Feld `thumbnail` (og:image) zurück: OpenGraph-Bild (Linkvorschau)
107 |
108 | ```php
109 | $dataset = Domain::get($id);
110 | $media = $dataset->getThumbnail(true);
111 | ```
112 |
113 | #### `setThumbnail(string $filename)`
114 |
115 | Setzt den Wert für das Feld `thumbnail` (og:image).
116 |
117 | ```php
118 | $dataset = Domain::create();
119 | $dataset->setThumbnail($filename);
120 | $dataset->save();
121 | ```
122 |
123 | #### `getIcon()`
124 |
125 | Gibt den Wert für das Feld `icon` (Profil (Icons, PWA)) zurück: In diesem Profil können Favicon- und Browser-Icons, Farbschema u.v.a. Eigenschaften für Progressive Web Apps ggf. für mehrere Domains angegeben werden.
126 |
127 | ```php
128 | $dataset = Domain::get($id);
129 | $beziehung = $dataset->getIcon();
130 | ```
131 |
132 | #### `setIcon(mixed $value)`
133 |
134 | Setzt den Wert für das Feld `icon` (Profil (Icons, PWA)).
135 |
136 | ```php
137 | $dataset = Domain::create();
138 | $dataset->setIcon($value);
139 | $dataset->save();
140 | ```
141 |
142 | #### `getYRewrite()`
143 |
144 | Gibt das zugehörige YRewrite-Domain-Objekt zurück:
145 |
146 | ```php
147 | $dataset = Domain::get($id);
148 | $yrewrite_domain = $dataset->getYRewrite();
149 | ```
150 |
151 | #### `getColor()`
152 |
153 | Gibt die Theme-Farbe des verknüpften Icon-Profils zurück:
154 |
155 | ```php
156 | $dataset = Domain::get($id);
157 | $theme_color = $dataset->getColor();
158 | ```
159 |
160 | #### `getLogoImg()`
161 |
162 | Gibt die Logo-URL zurück (unterstützt Media Manager Responsive):
163 |
164 | ```php
165 | $dataset = Domain::get($id);
166 | $logo_url = $dataset->getLogoImg();
167 | ```
168 |
169 | #### `getScripts()`
170 |
171 | Gibt ein Array der konfigurierten JavaScript-Dateien zurück:
172 |
173 | ```php
174 | $dataset = Domain::get($id);
175 | $scripts = $dataset->getScripts(); // Array von Dateinamen
176 | ```
177 |
178 | #### `setScripts(array $value)`
179 |
180 | Setzt JavaScript-Dateien für die Domain:
181 |
182 | ```php
183 | $dataset = Domain::create();
184 | $dataset->setScripts(['script1.js', 'script2.js']);
185 | $dataset->save();
186 | ```
187 |
188 | #### `getStyles()`
189 |
190 | Gibt ein Array der konfigurierten CSS-Dateien zurück:
191 |
192 | ```php
193 | $dataset = Domain::get($id);
194 | $styles = $dataset->getStyles(); // Array von Dateinamen
195 | ```
196 |
197 | #### `setStyles(array $value)`
198 |
199 | Setzt CSS-Dateien für die Domain:
200 |
201 | ```php
202 | $dataset = Domain::create();
203 | $dataset->setStyles(['style1.css', 'style2.css']);
204 | $dataset->save();
205 | ```
206 |
207 | #### Statische Hilfsmethoden
208 |
209 | ##### `getCurrentValue(string $key)`
210 |
211 | Ruft direkt einen Wert der aktuellen Domain ab:
212 |
213 | ```php
214 | $website_name = Domain::getCurrentValue('name');
215 | $logo = Domain::getCurrentValue('logo');
216 | ```
217 |
218 | ##### `getHead()`
219 |
220 | Gibt das HTML-Head-Fragment aus:
221 |
222 | ```php
223 | echo Domain::getHead(); // Vollständige Meta-Tags
224 | ```
225 |
226 | ##### `getAvailableStyles()`
227 |
228 | Gibt verfügbare CSS-Dateien aus dem Assets-Ordner zurück (für Choice-Felder):
229 |
230 | ```php
231 | $css_files = Domain::getAvailableStyles(); // Array für YForm Choice-Feld
232 | ```
233 |
234 | ##### `getAvailableScripts()`
235 |
236 | Gibt verfügbare JavaScript-Dateien aus dem Assets-Ordner zurück (für Choice-Felder):
237 |
238 | ```php
239 | $js_files = Domain::getAvailableScripts(); // Array für YForm Choice-Feld
240 | ```
241 |
242 | ## Die Klasse `Icon`
243 |
244 | Kind-Klasse von `rex_yform_manager_dataset`, damit stehen alle Methoden von YOrm-Datasets zur Verfügung. Greift auf die Tabelle `rex_yrewrite_metainfo_icon` zu.
245 |
246 | > Es werden nachfolgend nur die durch dieses Addon ergänzten Methoden beschrieben. Lerne mehr über YOrm und die Methoden für Querys, Datasets und Collections in der [YOrm Doku](https://github.com/yakamara/yform/blob/master/docs/04_yorm.md)
247 |
248 | ### Icons und PWA-Daten abrufen
249 |
250 | ```php
251 | $domain = Domain::getCurrent();
252 | $icon = $domain->getIcon();
253 | if ($icon) {
254 | echo $icon->getIcon16();
255 | echo $icon->getIcon16Url();
256 | echo $icon->getIcon32();
257 | echo $icon->getIcon32Url();
258 | echo $icon->getManifest();
259 | // usw.
260 | }
261 | ```
262 |
263 | ### Verfügbare Methoden
264 |
265 | #### `getName()`
266 |
267 | Gibt den Wert für das Feld `name` (Profilname) zurück: Name des Profils (wird nur für die Anzeige unter "Allgemein" verwendet)
268 |
269 | ```php
270 | $dataset = Icon::get($id);
271 | echo $dataset->getName();
272 | ```
273 |
274 | #### `setName(mixed $value)`
275 |
276 | Setzt den Wert für das Feld `name` (Profilname).
277 |
278 | ```php
279 | $dataset = Icon::create();
280 | $dataset->setName($value);
281 | $dataset->save();
282 | ```
283 |
284 | #### `getShortName()`
285 |
286 | Gibt den Wert für das Feld `short_name` (PWA Kurzname (App-Verknüpfung)) zurück: Wird verwendet, wenn die Website als PWA-Verknüpfung auf dem Home-Screen oder Startmenü dargestellt wird.
287 |
288 | ```php
289 | $dataset = Icon::get($id);
290 | echo $dataset->getShortName();
291 | ```
292 |
293 | #### `setShortName(mixed $value)`
294 |
295 | Setzt den Wert für das Feld `short_name` (PWA Kurzname (App-Verknüpfung)).
296 |
297 | ```php
298 | $dataset = Icon::create();
299 | $dataset->setShortName($value);
300 | $dataset->save();
301 | ```
302 |
303 | #### `getDisplay()`
304 |
305 | Gibt den Wert für das Feld `display` (PWA Browser-UI) zurück: Gibt an, wie viel Browser-UI innerhalb der PWA noch sichtbar ist, z.B. Reload-Button
306 |
307 | ```php
308 | $dataset = Icon::get($id);
309 | echo $dataset->getDisplay();
310 | ```
311 |
312 | #### `setDisplay(mixed $value)`
313 |
314 | Setzt den Wert für das Feld `display` (PWA Browser-UI).
315 |
316 | ```php
317 | $dataset = Icon::create();
318 | $dataset->setDisplay($value);
319 | $dataset->save();
320 | ```
321 |
322 | #### `getThemeColor()`
323 |
324 | Gibt den Wert für das Feld `theme_color` (PWA Theme-Farbe) zurück: ``
325 |
326 | ```php
327 | $dataset = Icon::get($id);
328 | echo $dataset->getThemeColor();
329 | ```
330 |
331 | #### `setThemeColor(mixed $value)`
332 |
333 | Setzt den Wert für das Feld `theme_color` (PWA Theme-Farbe).
334 |
335 | ```php
336 | $dataset = Icon::create();
337 | $dataset->setThemeColor($value);
338 | $dataset->save();
339 | ```
340 |
341 | #### `getBackgroundColor()`
342 |
343 | Gibt den Wert für das Feld `background_color` (PWA Hintergrund-Farbe) zurück: Hintergrundfarbe, z.B. beim Starten der PWA
344 |
345 | ```php
346 | $dataset = Icon::get($id);
347 | echo $dataset->getBackgroundColor();
348 | ```
349 |
350 | #### `setBackgroundColor(mixed $value)`
351 |
352 | Setzt den Wert für das Feld `background_color` (PWA Hintergrund-Farbe).
353 |
354 | ```php
355 | $dataset = Icon::create();
356 | $dataset->setBackgroundColor($value);
357 | $dataset->save();
358 | ```
359 |
360 | #### `getMsapplicationTitleColor()`
361 |
362 | Gibt den Wert für das Feld `msapplication_title_color` (PWA Titelleisten-Farbe) zurück: (nur Microsoft Windows), ``
363 |
364 | ```php
365 | $dataset = Icon::get($id);
366 | echo $dataset->getMsapplicationTitleColor();
367 | ```
368 |
369 | #### `setMsapplicationTitleColor(mixed $value)`
370 |
371 | Setzt den Wert für das Feld `msapplication_title_color` (PWA Titelleisten-Farbe).
372 |
373 | ```php
374 | $dataset = Icon::create();
375 | $dataset->setMsapplicationTitleColor($value);
376 | $dataset->save();
377 | ```
378 |
379 | #### `getShortcutIcon(bool $asMedia = false)`
380 |
381 | Gibt den Wert für das Feld `shortcut_icon` (Favicon) zurück: `favicon.ico`
382 |
383 | ```php
384 | $dataset = Icon::get($id);
385 | $media = $dataset->getShortcutIcon(true);
386 | ```
387 |
388 | #### `setShortcutIcon(string $filename)`
389 |
390 | Setzt den Wert für das Feld `shortcut_icon` (Favicon).
391 |
392 | ```php
393 | $dataset = Icon::create();
394 | $dataset->setShortcutIcon($filename);
395 | $dataset->save();
396 | ```
397 |
398 | #### `getIcon16(bool $asMedia = false)`
399 |
400 | Gibt den Wert für das Feld `icon_16` (16x16) zurück: 16×16px
401 |
402 | ```php
403 | $dataset = Icon::get($id);
404 | $media = $dataset->getIcon16(true);
405 | ```
406 |
407 | #### `setIcon16(string $filename)`
408 |
409 | Setzt den Wert für das Feld `icon_16` (16x16).
410 |
411 | ```php
412 | $dataset = Icon::create();
413 | $dataset->setIcon16($filename);
414 | $dataset->save();
415 | ```
416 |
417 | #### `getIcon32(bool $asMedia = false)`
418 |
419 | Gibt den Wert für das Feld `icon_32` (32x32) zurück: 32×32px
420 |
421 | ```php
422 | $dataset = Icon::get($id);
423 | $media = $dataset->getIcon32(true);
424 | ```
425 |
426 | #### `setIcon32(string $filename)`
427 |
428 | Setzt den Wert für das Feld `icon_32` (32x32).
429 |
430 | ```php
431 | $dataset = Icon::create();
432 | $dataset->setIcon32($filename);
433 | $dataset->save();
434 | ```
435 |
436 | #### `getAppleTouchIcon(bool $asMedia = false)`
437 |
438 | Gibt den Wert für das Feld `apple_touch_icon` (Apple Touch) zurück: 180×180px
439 |
440 | ```php
441 | $dataset = Icon::get($id);
442 | $media = $dataset->getAppleTouchIcon(true);
443 | ```
444 |
445 | #### `setAppleTouchIcon(string $filename)`
446 |
447 | Setzt den Wert für das Feld `apple_touch_icon` (Apple Touch).
448 |
449 | ```php
450 | $dataset = Icon::create();
451 | $dataset->setAppleTouchIcon($filename);
452 | $dataset->save();
453 | ```
454 |
455 | #### `getSafariPinnedTab(bool $asMedia = false)`
456 |
457 | Gibt den Wert für das Feld `safari_pinned_tab` (Safari Pinned Tab) zurück: `safari-pinned-tab.svg`
458 |
459 | ```php
460 | $dataset = Icon::get($id);
461 | $media = $dataset->getSafariPinnedTab(true);
462 | ```
463 |
464 | #### `setSafariPinnedTab(string $filename)`
465 |
466 | Setzt den Wert für das Feld `safari_pinned_tab` (Safari Pinned Tab).
467 |
468 | ```php
469 | $dataset = Icon::create();
470 | $dataset->setSafariPinnedTab($filename);
471 | $dataset->save();
472 | ```
473 |
474 | #### `getManifest(bool $asMedia = false)`
475 |
476 | Gibt den Wert für das Feld `manifest` (webmanifest.json) zurück: `site.webmanifest`
477 |
478 | ```php
479 | $dataset = Icon::get($id);
480 | $media = $dataset->getManifest(true);
481 | ```
482 |
483 | #### `setManifest(string $filename)`
484 |
485 | Setzt den Wert für das Feld `manifest` (webmanifest.json).
486 |
487 | ```php
488 | $dataset = Icon::create();
489 | $dataset->setManifest($filename);
490 | $dataset->save();
491 | ```
492 |
493 | #### `getFaviconPng96(bool $asMedia = false)`
494 |
495 | Gibt den Wert für das Feld `favicon_png_96` (PNG Favicon 96x96) zurück:
496 |
497 | ```php
498 | $dataset = Icon::get($id);
499 | $media = $dataset->getFaviconPng96(true);
500 | ```
501 |
502 | #### `getFaviconPng96Url()`
503 |
504 | Gibt die URL für das PNG Favicon (96x96) zurück:
505 |
506 | ```php
507 | $dataset = Icon::get($id);
508 | $url = $dataset->getFaviconPng96Url();
509 | ```
510 |
511 | #### `setFaviconPng96(string $filename)`
512 |
513 | Setzt den Wert für das Feld `favicon_png_96` (PNG Favicon 96x96):
514 |
515 | ```php
516 | $dataset = Icon::create();
517 | $dataset->setFaviconPng96($filename);
518 | $dataset->save();
519 | ```
520 |
521 | #### `getFaviconSvg(bool $asMedia = false)`
522 |
523 | Gibt den Wert für das Feld `favicon_svg` (SVG Favicon) zurück:
524 |
525 | ```php
526 | $dataset = Icon::get($id);
527 | $media = $dataset->getFaviconSvg(true);
528 | ```
529 |
530 | #### `getFaviconSvgUrl()`
531 |
532 | Gibt die URL für das SVG Favicon zurück:
533 |
534 | ```php
535 | $dataset = Icon::get($id);
536 | $url = $dataset->getFaviconSvgUrl();
537 | ```
538 |
539 | #### `setFaviconSvg(string $filename)`
540 |
541 | Setzt den Wert für das Feld `favicon_svg` (SVG Favicon):
542 |
543 | ```php
544 | $dataset = Icon::create();
545 | $dataset->setFaviconSvg($filename);
546 | $dataset->save();
547 | ```
548 |
549 | ### URL-Hilfsmethoden
550 |
551 | Für alle Media-Felder gibt es entsprechende URL-Methoden:
552 |
553 | ```php
554 | $icon = Icon::get($id);
555 |
556 | // URL-Methoden für direkte Ausgabe
557 | echo $icon->getShortcutIconUrl(); // Favicon URL
558 | echo $icon->getAppleTouchIconUrl(); // Apple Touch Icon URL
559 | echo $icon->getManifestUrl(); // Manifest URL
560 | echo $icon->getFaviconPng96Url(); // PNG Favicon URL
561 | echo $icon->getFaviconSvgUrl(); // SVG Favicon URL
562 | ```
563 |
564 | ## ``-Fragment
565 |
566 | YRewrite Metainfo kommt standardmäßig mit einem passenden Fragment für den ``-Bereich des HTML-Dokuments.
567 |
568 | Das Fragment befindet sich in `fragments/yrewrite_metainfo/head.php`.
569 |
570 | ### Head-Fragment verwenden
571 |
572 | Verwende folgenden Code: `= Domain::getHead() ?>` für die Ausgabe in deinem Template.
573 |
574 | ### Head-Fragment anpassen / überschreiben
575 |
576 | Erstelle eine Datei `fragments/yrewrite_metainfo/head.php` in deinem Project-Addon oder Theme-Verzeichnis, um das mitgelieferte Fragment zu überschreiben.
577 |
578 | > **Hinweis:** Diese Methode ist updatesicher, jedoch können mit zukünftigen Updates weitere Features in `yrewrite_metainfo` aufgenommen werden - diese müssen dann im eigenen ``-Fragment angepasst werden.
579 |
580 | ### Template-Integration
581 |
582 | ```php
583 | // Standard-Integration im Template-Head
584 | = Domain::getHead() ?>
585 |
586 | // Manueller Zugriff auf Metadaten
587 | getName()) {
590 | echo '' . rex_escape($domain->getName()) . ' ';
591 | }
592 | ?>
593 |
594 | // Logo nur ausgeben wenn vorhanden
595 | getLogo()) {
598 | $media = rex_media::get($domain->getLogo());
599 | if ($media) {
600 | echo '
';
601 | }
602 | }
603 | ?>
604 |
605 | // PWA-Manifest nur bei verfügbarem Icon-Profil
606 | getIcon()) {
609 | echo '';
610 | }
611 | ?>
612 | ```
613 |
614 | ### Eigene Meta-Tags ergänzen
615 |
616 | ```php
617 | // Im project-Addon: fragments/yrewrite_metainfo/head.php
618 | subfragment('yrewrite_metainfo/head.php');
621 |
622 | // Zusätzliche Meta-Tags
623 | $domain = Domain::getCurrent();
624 | if ($domain) {
625 | echo '';
626 | echo '';
627 | }
628 | ?>
629 | ```
630 |
--------------------------------------------------------------------------------