PDA

Zobacz pełną wersję : mod_custom przypadkiem usunięty.



Proxim
15-09-2010, 04:41
Witam.

Przypadkiem usunąłem ze swojej strony mod_custom i kilka modułów które były na mojej stronie zrobione zniknęły.
Mam kopie zapasową wszystkich plików na dysku, wgrałem do folderu "modules" folder "mod_custom" jednak moduły na stronie nie wróciły. W jakim pliku są one zapisane abym mógł naprawić swój błąd?

(mod_custon usunąłem przypadkiem w Rozszerzenia/instalator/moduły)

Z góry dzięki za pomoc
Pozdrawiam

alex51
15-09-2010, 07:01
Powinieneś odnaleźć usunięte moduły w posiadanej wcześniejszej kopii bazy danych w tabeli jos_modules i je stamtąd przywrócić.

Proxim
15-09-2010, 23:58
Kopie robiłem komponentem Akeeba Backup... znalazłem w niej plik o nazwie joomla.sql jak się domyślam jest to właśnie kopia bazy danych... jednak nie wiem jak przywrocić z tej kopii tylko tabele jos_modules a dokładniej tylko kilka wpisów odpowiadających za mod_custom... jeżeli zrobię importuj to chyba cała baza danych zostanie zamieniona na tą starszą tak?

alex51
16-09-2010, 07:50
Możesz odtworzyć brakujące rekordy ręcznie wpisując je poprzez PMA (phpMyAdmin).
Potrzebne informacje do odtworzenia potrzebnych rekordów znajdziesz w posiadanej kopii bazy danych. W celu ich odnalezienia musisz tą kopię, czyli plik joomla.sql (znajduje się on w lokalizacji: installation/sql/joomla.sql) otworzyć w edytorze tekstowym, najlepiej użyć do tego programu NotatnikSP lub innegopodobnego edytora umożliwiającego pracę z plikami sql.Należy odszukać moduły custom najlepiej posługując się wyszukiwarką Ctrl+F i wyszukiwać frazę mod_custom. Posłużę się przykładowym modułem custom z mojej strony. Moduł ten ma tytuł Polecamy, który ma pokazywać linki do polecanych stron. Jego rekord wmojej tabeli jos_modules w kopii bazy danych wygląda następująco:


INSERT INTO `#__modules` VALUES ('10078', 'Polecamy', '<div><a href=\"http://www.soundimage.pl/bank-muzyki.html\" title=\"Bank muzyki royalty free\"><strong>Bank Muzyki Royalty Free</strong></a></div>\r\n<div><a href=\"http://wspieram-biznes.eu/\" title=\"wspieram-biznes.eu\"><strong>Wspieram biznes - Portal Promujący Biznes</a></div>\r\n<div><a href=\"http://bilanssc.pl/\" title=\"Bilans SC.\"><strong>Bilans SC - Usługi rachunkowe i audytorskie</strong></a></div>\r\n<div><a href=\"http://muzyczka.pl\" title=\"muzyczka.pl\"><strong>Podkłady muzyczne - muzyczka.pl</strong></a></div>', '2', 'mainbottom-a', '0', '0000-00-00 00:00:00', '1', 'mod_custom', '0', '0', '1', 'moduleclass_sfx=title2\n\n', '0', '0', '');Natomiast wygląd tego rekordu w tabeli bazy danych, przedstawiony w PMA jest taki:

http://alex51.funpic.de/joomla/custom_00a.jpg

Porównując widok rekordu w kopii bazy danych z widokiem tego samego rekordu w PMA można pokusić się o samodzielnie odtworzenie brakujących rekordów. Wystarczy odnaleźć w kopii bazy danych wszystkie rekordy usuniętych modułów custom, skopiować je do nowego dokumentu i na ich podstawie zrekonstruować rekordy w bazie danych. Może ten zapis, widoczny w pokazanym powyżej fragmencie z kopii bazy danych jest troche skomplikowany, ale trzeba zauważyć, że poszczególne wpisy są oddzielane od siebie znakami apostrofu '. Dzięki temu zobaczyć można wyraźnie gdzie w kopii bazy się zaczyna i kończy każdy wpis rekordu, potrzebny do samodzielnego wypełnienia nowego, odtwarzanego rekordu w PMA.

Po wejściu w PMA należy w prawej części okna oszukać tabelę jos_modules.

http://alex51.funpic.de/joomla/custom_01.jpg

Należy kliknąć w pokazaną na powyższym obrazku ikonkę Przeglądaj, co spowoduje otworzenie się okna tabeli jos_modules zawierającego wszystkie rekordy dotyczące używanych modułów.

http://alex51.funpic.de/joomla/custom_02.jpg

W tym oknie należy znaleźć przycisk Dodaj, którego kliknięcie spowoduje otworzenie nowego okna, służącego dodawaniu nowego rekordu w tej tabeli bazy danych.

http://alex51.funpic.de/joomla/custom_03.jpg

Posługując się posiadanymi informacjami ze starszej kopii bazy danych należy uzupełnić wymagane pola w pierwszej (górnej) części tego okna. Po wypełnieniu należy przejść na sam dół tego okna, gdzie znajduje się opcja Dodaj jako nowy rekord. Tam należy kliknąć w przycisk Wykonaj.

http://alex51.funpic.de/joomla/custom_04.jpg

Identyczną procedurę należy powtórzyć chcąc odtworzyć kolejny, brakujący moduł custom.

Można też zastosować alternatywną metodę, polegającą na stworzeniu z pomocą posiadanej kopii bazy danych oddzielnego pliku sql, zawierającego same rekordy mod_custom i zaimportowanie go do aktualnej bazy danych za pomocą PMA.

W razie ewentualnych problemów z kopią bazy lub odtworzeniem jej w PMA proszę o kontakt na PW.

Proxim
16-09-2010, 16:39
Dziękuję bardzo za tak rozbudowaną wypowiedź i poświęcony czas... użyłem pierwszej metody (była trochę czasochłonna) i wszystko poszło bez problemów.

Przejrzysty i profesjonalna odpowiedź... oczywiście punkty reputacji dodane :)
Pozdrawiam