PDA

Zobacz pełną wersję : [Rozwiązane] "Obcinanie" formularza do wstawiania artykułu



Crow
28-04-2020, 22:22
Witam,
Proszę o pomoc w sprawie "obcinania" części formularza do edycji artykułu od strony frontu (od strony zaplecza wszystko jest ok). Joomla 3.9.18.
O problemie zgłosił edytor strony, więc nie bardzo wiem kiedy i po jakim działaniu on się pojawił. Być może zadziało się to po ostatniej aktualizacji Joomla.
Próbowałem znaleźć przyczynę i jest tak, że po wyłączeniu dodatku Sourcerer (który jest zainstalowany już bardzo długo i wcześniej takich problemów nie było) pojawia się cały formularz dodawania artykułu. Jednak w tym momencie rozsypują się moduły własne z dodanymi skryptami itp.
Jeśli zaś włączę dodatek Sourcerer moduły własne wracają do normy, a formularz dodawania artykułu kończy się na treści. Nie można wybrać kategorii, publikacji, itp.

siristru
28-04-2020, 23:00
No nie bardzo można pomoc bez zobaczenia problemu.
Podejrzewam jakieś floaty albo pozycjonowanie absolutne... negatywny margines?

Crow
29-04-2020, 09:19
9823 9824
Pierwszy obraz pokazuje artykuł bez możliwości wybrania kategorii i innych, przy włączonym dodatku sorcerer. Drugi - wyłączony sourcerer i "rozsypany" moduł własny, ale artykuł w pełni.

siristru
29-04-2020, 11:09
Załączniki nie działają, doda zrzut ekranu przy użyciu tej usługi: https://snipboard.io/
Ale nawet jak zobaczę na obrazku to nie będę mógł wiele powiedzieć. Trzeba zobaczyć na żywo i użyć opcji inspekcji kodu, sprawdzić strukturę i style CSS by stwierdzić co to powoduje.

Crow
29-04-2020, 15:20
Sprawdziłem manualnie ostatnio dodane moduły własne. Po wyłączeniu kolejnych znalazłem winowajcę. Okazuje się, ze to poniższy kod powodował takie zamieszanie. Dlaczego? Proszę o odpowiedź, co w kodzie jest nie tak, że robiło to takie zamieszanie na froncie?

<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div style="margin-right: 20px;">
<a title="xxxxxxxxxxxxxxxx" href="index.php/xxxxxxxxxx" rel="noopener">
<img class="img-fluid" src="images/xxxxxxxx" alt="xxxxxxxxxxxx">
</a>
</div>
</body>
</html>

siristru
29-04-2020, 16:01
Ty tak na poważnie? :) Pokazujesz kawałek kodu wyjęty z kontekstu który w zasadzie może być sam stroną internetową (ma poprawne elementy i składnię).
Jeżeli ten kod pojawił ci się w samym środku strony to oczywiste, że naruszył strukturę strony.
Mogę zgadywać (jeśli o zgadywanki chodzi) że jakieś zainstalowane rozszerzenie dodało te skrypty do head strony... no i się posypało bo Joomla ładuje własna wersję jQuery (dość starą) a także Bootstrapa.
No i miałeś na stronie zdublowane... to i się posypało.

Crow
29-04-2020, 17:16
Nie rozumiem:( Ja tak na poważnie - dokładnie. Ja doświadczam, próbuję ... Wyczytałem gdzieś, ze tak można to zrobić używając modułu własnego i wstawiając własny kod. więc to zrobiłem. Zrobiłem również inny moduł ze skryptem i tam zadziałało. Ok już wiem co zaraz powiesz, ale daruj sobie. Dziękuję ci za czas, bo wiem że on jest drogi. Tym bardziej dziękuję za niego i że uświadomiłeś mi w pierwszej twojej odpowiedzi, gdzie szukać. A jak ten moduł powinienem zrobić, tego dalej nie wiem :( Może dasz jakąś sugestię? Chciałem dodać baner, będący łączem i żeby był responsywny.

siristru
29-04-2020, 18:39
Pośmialiśmy się to teraz na poważnie. Nie obrażaj się. Ja się po prostu zacząłem już zastanawiać czy ktoś sobie nie drwi z nas tutaj. Rozumiem, że gdzieś coś wyczytałem i tam polecono ci koszmarną bzdurę. Cos takiego nie ma prawa przejść walidacji W3C.

Wstawienie własnego modułu ze skryptami i to jeszcze z head i body woła o pomstę do nieba. Dokument html musi mieć <html><head></head><body></body></html> i amen. Tak jak człowiek nie może mieć więcej głów ani ciał.
Poza tym, jak pisałem Joomla korzysta z frameworków i ładuje własny jQuery i Bootstrap.

Oczywiście, że można załadować własne, sam tak robię. Ale trzeba to zrobić umiejętnie.

1. Wyłączyć domyślne ładowanie jQuery, Bootstrap i/lub Mootools w Joomli. Robisz to albo stosując specjalne wpisy w index.php (to jeszcze zależy od szablonu jaki masz) albo stosujesz wtyczkę np. https://github.com/vlasenkofedor/joomla_options
2. Dodajesz własne jQuery i Bootstrapa deklarując je odpowiednio w head swojego szablonu. Jeśli to prosty szablon to wystarczy spojrzeć na strukturę index.php i jak tam są dodane ewentualne skrypty. Lub podejrzeć jak to jest w Protostar. Jeśli masz klubowy szablon no to trudniej bo albo on w konfiguracji pozwala dodać własne skrypty albo już ładuje albo edytujesz odpowiedni plik gdzie jest zdeklarowane <head></head>

Poza tym wszystkim trudno jest pomóc rozwiązać problem polegając tylko na opisie.... trzeba go zobaczyć (najlepiej). Inaczej to wróżenie z fusów.

Tak też nie bądź krzyw na mnie... to z szoku ;)

Responsywność banner jest bardzo prosta do osiągnięcia... ale do tego musi być responsywny szablon. Wtedy wystarczy zadeklarować by obrazki miały max-width: 100%; i o ile jego rodzice będą miały zadeklarowaną szerokość to się do nich odpowiednio dopasuje.

Crow
29-04-2020, 19:45
Dziękuję za odpowiedź i radę. Poszedłem za nią i już zrobiłem to czego chciałem. Mam szablon responsywny, więc zrobiłem tak jak proponowałeś i udało się :) Gotowe!
Można uznać, ze problem został rozwiązany. Dzięki.