Advertisement

Stwórz profil

Musisz wpisać swoje imię
Musisz wpisać swoje nazwisko
Musisz wpisać poprawny e-mail
Musisz wpisać hasło (min. 8 znaków)
Musisz zaakceptować regulamin

Maciej Niedźwiecki Programista
PHP/JS/MySQL
►efemental.pl

Temat: Wersje tekstu - powód zmiany.

Witam,

Mam do zrobienia jedną stronkę i wstępnie wybrałem Wordpressa, ale mam jeden mały problem. Otóż podmiot jest z takich, co muszą mieć stronę spełniającą wymogi BIP (Biuletyn Informacji Publicznej).
Jednym z wymagań jest, aby wszystkie zmiany treści były rejestrowane w systemie (data zmiany, powód, osoba, no i poprzednia treść). Wordpress co prawda ma swój system rewizji, który dałoby się wykorzystać. Niestety brakuje możliwości wpisania powodu zmiany treści.

Wygląda więc, że trzeba będzie część "zwykłą" zrobić na WP a część "bipową" np. na SmodBIP, co nie za bardzo mi się podoba.

Może ktoś ma jakiś pomysł na to? Może istnieje jakaś wtyczka dodająca taką funkcjonalność? Wszelkie pomysły mile widziane!
31.01.2012, 17:59

Konrad Karpieszuk tradematik.pl -
wtyczka wordpress
sklep internetowy

Temat: Wersje tekstu - powód zmiany.

nigdy tego nie robilem, ale:

- dodalbym custom field do wprowadzania przez uzytkownika informacji o zmianach.

- dodalbym akcję na _wp_put_post_revision, ktora:
-- odczyta id wlasnie zapisanej rewizji (ktora sie utworzy przy aktualizacji wpisu)
-- sprawdzi id oryginalnego posta (nie wiem dokladnie jak ale zobacz _get_post_ancestors w http://svn.automattic.com/wordpress/tags/3.3/wp-includ... )
- odczyta zawartosc pola custom field oryginalnego posta (func. get_post_meta)
- zapisze wyzej odczytana zawartosc jako custom field rewizji (func. update_post_meta)

... ale nie wiem czy to zadziala :)

jak cos obejrzyj sobie te funkcje http://hitchhackerguide.com/2011/02/12/_wp_put_post_re... to ona zapisuje rewizje i jak widzisz ma w sobie do_action('_wp_put_post_revision', , $revision_id );
31.01.2012, 20:44

Maciej Niedźwiecki Programista
PHP/JS/MySQL
►efemental.pl

Temat: Wersje tekstu - powód zmiany.

Właśnie o custom fields myślałem, tylko okazuje się, że zawsze zapamiętywana jest w bazie ostatnia wartość każdego pola (nadpisywana po każdej zmianie posta).

Ale może to jest dobry trop, tylko trzeba dołożyć do bazy dodatkową tabelkę na powody zmian i ją zgodnie z Twoją procedurą aktualizować. Przy wyświetlaniu będzie to stosunkowo proste, bo wystarczy prosty pluginek, który zrobi zapytanie i sformatuje wynik jako linki do poprzednich wersji.
W adminie jest więcej hakowania ale przynajmniej mam jakąś ideę jak to zrobić.

Dzięki!
31.01.2012, 23:02

Konrad Karpieszuk tradematik.pl -
wtyczka wordpress
sklep internetowy

Temat: Wersje tekstu - powód zmiany.

Maciej Niedźwiecki:
Ale może to jest dobry trop, tylko trzeba dołożyć do bazy dodatkową tabelkę na powody zmian


nie trzeba dokladac tabelki - mozesz wykorzystac wlasnie custom fields. po prostu przypisz je do wpisu o statusie 'revision' tak jakbys przypisywal do wpisu o statusie 'publish'. one sie praktycznie niczym nie roznia
1.02.2012, 01:44



Wyślij zaproszenie do