PDA

Zobacz pełną wersję : Ta sama treść w modułach (Własny html) dla kilku serwisów. Jak to zrealizować?



Grzegorz_n
21-10-2018, 10:55
Witam Szanownych Forumowiczów :)

Bardzo proszę zorientowanych w temacie o pomoc :)

Posiadam kilka serwisów w tym samym hostingu. Każdy serwis oparty jest na Joomla - każda domena, to osobna instalacja. Potrzebuję mieć we wszystkich serwisach tą samą treść (treść ujęta jest w modułach > Własny html), którą jednak zmieniam kilka razy w miesiącu.

Moje pytanie. Jak zrealizować zmianę tej treści we wszystkich serwisach jednocześnie, modyfikując ją jedynie w jednym miejscu?
Czy jest do tego celu jakiś dodatek lub może jakaś inna metoda?

Za każdą pomoc lub sugestię z góry serdecznie dziękuję :)

Grzegorz :)

siristru
22-10-2018, 10:20
Możesz w moduły HTML na rożnych stronach wrzucić wywołanie pliku js.
A potem zmieniasz tylko zawartość js.

Zobacz to: https://stackoverflow.com/questions/50978754/how-to-render-html-from-a-external-js-file

Grzegorz_n
22-10-2018, 16:32
Możesz w moduły HTML na rożnych stronach wrzucić wywołanie pliku js.
A potem zmieniasz tylko zawartość js.

Zobacz to: https://stackoverflow.com/questions/50978754/how-to-render-html-from-a-external-js-file

Wielkie dzięki za podpowiedź :)

Niestety, nie poradzę sobie z tym - jestem za cienki. Ledwo co znam html-a, js, php w ogóle.
Takie rzeczy muszę mieć rozpisane krok po kroku w sposób łopatologiczny i wówczas jest szansa, że coś z tego wyjdzie.
Nie mam śmiałości prosić Cię o aż tak wiele.

:(

siristru
22-10-2018, 21:09
LOL, no wszystko jest napisane, jednak ten przykład wygeneruje treść html na samym końcu body.

Użyj tego (wklej to do modułu HTML w trybie kodu html - czyli wyłącz edytor wizualny):


<div id="my-content"></div><script type="text/javascript">jQuery(document).ready(function(){ jQuery('#my-content').load("http://mojadomena.pl/test.html");
});</script>

Pamiętaj by w URL zmienić http na https jeśli używasz SSL. Powyższy kod wklej w każdy moduł HTML na swoich stronach. Pamiętaj by poprawnie utworzyć i umiejscowić plik test.html.

To jest kod z użyciem jQuery więc musisz mieć tą bibliotekę ładowaną na samym początku strony.

Tutaj masz żywy przykład https://test.siristru.smarthost.pl/ (moduł Test JS po prawej stronie).
Ładowany jest ten plik: https://test.siristru.smarthost.pl/images/test.html

Grzegorz_n
01-11-2018, 12:56
Witam po krótkiej przerwie - sprawy zawodowe.

Zrobiłem tak jak napisałeś i w przypadku takiej ścieżki dostępu - jak w Twoim przykładzie

.load("http://mojadomena.pl/test.html");
wszystko działa jak należy - dziękuję :)


Jednak nie potrafię ustawić prawidłowej ścieżki dostępu do pliku test.html dla kilku domen.

Moja struktura w hostingu wygląda tak:
/home/ded/domains/mojadomena1.pl/public_html/
/home/ded/domains/mojadomena2.pl/public_html/
/home/ded/domains/mojadomena3.pl/public_html/
itd.
Najlepszym dla mnie rozwiązaniem - dla efektu, który chcę uzyskać, będzie umiejscowienie przykładowego pliku test.html w lokalizacji: /home/ded/domains/test.html.

W tej sytuacji jak będzie wyglądała prawidłowa ścieżka dostępu w

.load("http://mojadomena.pl/test.html");

Z góry dziękuję :)

siristru
01-11-2018, 15:29
Ale ścieżka dostępu wystarczy jedna - wystarczy, że plik umieścisz w strukturze jednej ze stron np. mojadomena1.pl/images/pliki/test.html
I to w zupełności wystarczy. Używasz wywołania tego pliku na każdej ze stron w ten sam sposób i z takim samym URL.
Masz jeden plik, jeden URL i wywołujesz go na różnych stronach.

Grzegorz_n
01-11-2018, 17:15
Używasz wywołania tego pliku na każdej ze stron w ten sam sposób i z takim samym URL.
Masz jeden plik, jeden URL i wywołujesz go na różnych stronach.
No właśnie w ten sposób nie chce to działać.

Jak umieszczam plik test.html w każdej domenie osobno, to wówczas działa.
Jednak gdy plik mam w jednym miejscu i wywołuję go z różnych stron innej domeny - jak sugerowałeś powyżej, wówczas nie ma żadnej reakcji - brak treści z pliku test.html.

siristru
01-11-2018, 22:54
Wyślij mi proszę URL tego pliku na PW.

danieladrianka
02-11-2018, 19:39
Najlepszym dla mnie rozwiązaniem - dla efektu, który chcę uzyskać, będzie umiejscowienie przykładowego pliku test.html w lokalizacji: /home/ded/domains/test.html.

Umieszczenie pliku w tym miejscu jest niepoprawne i plik ten nie będzie dostępny bo niby jaki miałby adres ?

Umieść plik w jednej z domen a w pozostałych go wywołuj z tamtej domeny.

siristru
02-11-2018, 20:04
Przy tej metodzie problemem staje się CORS. Trzeba zastosować odpowiedni nagłówek żądania (nie pliku).