8.4 KiB
phase, plan, type, wave, depends_on, files_modified, autonomous, delegation
| phase | plan | type | wave | depends_on | files_modified | autonomous | delegation | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01-fix-article-info-metryczki | 01 | execute | 1 |
|
false | off |
Purpose
Metryczki artykułów BIP to wymóg prawny. Klient zgłasza, że po aktualizacji przestały się wyświetlać. Problem jest powtarzalny — aktualizacja Joomla nadpisuje pliki core layouts.
Output
Pliki layout przywrócone do stanu kompatybilnego z JS metryczek. Metryczki widoczne na stronie.
## Project Context @.paul/PROJECT.md @.paul/ROADMAP.mdSource Files
@layouts/joomla/content/info_block.php @layouts/joomla/content/info_block/create_date.php @layouts/joomla/content/info_block/publish_date.php @layouts/joomla/content/info_block/modify_date.php @layouts/joomla/content/info_block/author.php @templates/instytut_dendrologii_/js/metryczka.js @templates/instytut_dendrologii_/js/dodajmetryczke.js
Analiza problemu
Skrypty JS metryczek (metryczka.js, dodajmetryczke.js) polegają na konkretnych selektorach CSS:
.grid-bip .article-info— wrapper metryczki (dodajmetryczke.js:8).create [itemprop="dateCreated"]— data wytworzenia (metryczka.js:41).published [itemprop="datePublished"]— data udostępnienia (metryczka.js:45).modified [itemprop="dateModified"]— data modyfikacji (metryczka.js:49).metryczka→.closest('.article-info').lastChild— toggle visibility (dodajmetryczke.js:21)
Aktualizacja Joomla mogła:
- Zmienić strukturę HTML sublayoutów (inne klasy, brak itemprop)
- Zmienić format tekstu (np. "Utworzono:" → "Created on")
- Zmienić typ elementów (dd→div, time→span)
Obecna lokalna wersja plików może nie odpowiadać stanowi na serwerze po aktualizacji.
<acceptance_criteria>
AC-1: Metryczka BIP widoczna na stronie artykułu
Given artykuł w sekcji BIP (klasa .grid-bip)
When użytkownik otwiera stronę artykułu
Then element .article-info text-muted jest obecny w DOM
And zawiera przycisk "METRYCZKA" (klasa .infometryczka)
And po kliknięciu "METRYCZKA" pojawia się blok z danymi
AC-2: Dane metryczki poprawnie wypełnione
Given artykuł BIP z uzupełnionymi polami (autor, daty)
When skrypt metryczka.js wypełnia dane
Then metryczka zawiera: Podmiot udostępniający, Wytwarzający, Data wytworzenia, Data udostępnienia
And daty są w poprawnym formacie (nie "undefined" ani puste)
AC-3: Selektory JS pasują do struktury HTML
Given pliki info_block.php i sublayouty na serwerze
When przeglądarka renderuje stronę
Then selektory .create [itemprop="dateCreated"], .published [itemprop="datePublished"], .modified [itemprop="dateModified"] znajdują elementy
And dodajmetryczke.js poprawnie wstrzykuje HTML metryczki
</acceptance_criteria>
Synchronizacja plików z serwera 1. W VS Code użyj ftp-kr: pobierz aktualną wersję plików z serwera 2. Pliki do pobrania: - `layouts/joomla/content/info_block.php` - `layouts/joomla/content/info_block/create_date.php` - `layouts/joomla/content/info_block/publish_date.php` - `layouts/joomla/content/info_block/modify_date.php` - `layouts/joomla/content/info_block/author.php` - `layouts/joomla/content/info_block/category.php` - `layouts/joomla/content/info_block/hits.php` 3. Opcjonalnie: pobierz cały folder `layouts/joomla/content/` rekursywnie Wpisz "pobrane" gdy pliki zostaną zsynchronizowane z serwera Task 1: Diagnoza różnic po aktualizacji layouts/joomla/content/info_block.php, layouts/joomla/content/info_block/create_date.php, layouts/joomla/content/info_block/publish_date.php, layouts/joomla/content/info_block/modify_date.php, layouts/joomla/content/info_block/author.php Po pobraniu plików z serwera: 1. Przeczytaj zaktualizowane pliki layoutów 2. Sprawdź czy struktura HTML pasuje do selektorów JS: - `- ` — wrapper
- `
- ` z `
- ` z `
- ` z `