Skrypt ogłoszeniowy Notice3

Notice3 logo

Skrypt strony www z ogłoszeniami online tylko dla profesjonalistów.

Skrypt Notice3 to nowoczesny i uniwersalny skrypt dla strony internetowej z ogłoszeniami online. Może zostać wykorzystany dla dowolnej kategorii ogłoszeń a także jako strona z bazą nieruchomości, miejsc noclegowych, ofert pracy albo jako katalog firm. Doświadczenie zdobyte przy tworzeniu innych skryptów w tym Notice2, Holmes2, Festa2 oraz od klientów prowadzących własne serwisy zaowocowało stworzeniem skryptu który najbardziej odpowiada potrzebom użytkowników i jego właściciela.

Dzięki Notice3 możesz stworzyć portal lokalny, ogólnopolski lub międzynarodowy. Rozbudowany panel administracyjny ułatwi Ci zarządzanie stroną i dostosowanie go do indywidualnych wymagań. Notice3 został napisany zgodnie z wymaganiami dotyczącymi optymalizacji i pozycjonowania strony www, co pozwala w krótkim czasie zdobyć wysoką pozycję w wyszukiwarkach internetowych.

Skrypt jest oparty o Symfony 5, jest zgodny z MCV, po stronie front endu został wykorzystany VUE oraz Bootstrap 5.

Skrypt Notice3 służy do zastosowań profesjonalnych, jako duży serwis z ogłoszeniami online. Dzięki budowie zgodnej z MVC i opartej na frameworku Symfony jest łatwy w dalszej rozbudowie. Cechuje się także bardzo dużą wydajnością.

  • rejestrację użytkowników, logowanie i reset hasła, przydzielanie ról moderatora oraz administratora, formularze zabezpieczone przez reCAPTCHA
  • logowanie przez konto Facebook i Google
  • dodawanie i wyszukiwanie ogłoszeń, dodawanie ich do schowka,
  • odpłatne wystawianie i promowanie, integracja z Przelewy24, PayPal, HotPay, TPay, Payu i Blue Media
  • mapa Google z zaznaczeniem lokalizacji ogłoszenia
  • system wewnętrznych wiadomości między użytkownikami
  • prowadzenie bloga na stronie oraz dodawanie stron statycznych
  • zarządzenie wielopoziomową listą kategorii oraz regionów
  • dodanie filtrów dla danej kategorii (max do drugiego poziomu) np. w Samochody Osobowe: rocznik, przebieg, w Nieruchomości: ilość pięter, metraż
  • możliwość zmiany języka strony (strona może być w jednym języku)
  • wysyłkę mailingu do zarejestrowanych użytkowników lub do zapisanych w newsletterze
  • możliwość zapisu do newsletteru
  • wysyłkę wiadomości z formularzy kontaktowych
  • podgląd statystyk serwisu w panelu admina wraz z wykresem
  • generowanie sitemap (mapy strony)
  • udostępnienie linku do kanału RSS FEED
  • dodawanie komentarzy do ogłoszeń przez zalogowanych użytkowników
  • dodawanie komentarzy do wpisów blogowych i stron profilu przez Facebooka
  • przycisk do kontaktu przez Messenger na stronie ogłoszenia
  • wygenerowanie własnej aplikacji PWA dla portalu
  • dodawanie awatara i opisu na stronę profilu przez użytkowników
  • ustawienie opłat zależnie od długości trwania ogłoszenia
  • podejrzenie w panelu admina logów logowań, wysłanych maili, resetu hasła oraz wyświetleń ogłoszeń
  • posiada czarną listę adresów email i adresów IP z których nie można dodać ogłoszenia oraz czarną listę słów kluczowych które zostaną usunięte z tytułu i treści ogłoszenia
  • podpowiedzi do wyszukiwarki ogłoszeń
  • możliwość ukrycia kontaktu w ogłoszeniu dla niezalogowanych
  • klienci mogą zgłaszać naruszenia w ogłoszeniach

Demo skryptu można zobaczyć pod adresem https://notice3.itworksbetter.net

Dane do logowania do panelu admina: https://notice3.itworksbetter.net/admin
login: test
hasło: 1234

Demo wersji angielskiej strony https://notice3en.itworksbetter.net/

Dane do logowania do panelu admina w wersji angielskiej: https://notice3en.itworksbetter.net/admin
login: test
hasło: 1234

Skrypt jest dostępny do zakupu na https://sklep.itworksbetter.net/skrypty-stron-www/1-skrypt-ogloszeniowy-notice3.html

Przykładowe strony stworzone na tym skrypcie: petworld.pl, katalogofert.pl, lamusownia.pl, odsprzedaj.pl, gieldaokien.pl, trafnaokazja.pl, twojaoferta.com.pl

Notice3 został napisany w Symfony 5. Z tego względu ma wyższe wymagania niż inne skrypty ale jest też znacznie wydajniejszy. Klient który chce samodzielnie wykonać zmiany w serwisie musi posiadać bardzo dobrą znajomość PHP i JavaScript.

Wymagania serwera:

  • PHP w wersji min. 8.1
  • baza danych (np.  MySQL, PostgreSQL, MongoDB)
  • wiersz poleceń z dostępem do Composera
  • możliwość ustawienia zadań crona poprzez komendy PHP
  • możliwość zmiany katalogu na jaki ma wskazywać domena
  • MOD Rewrite
  • Symfony wymaga aby na serwerze było dostępne polecenie proc_open

Aby sprawdzić czy na Twoim hostingu skrypt będzie mógł zostać zainstalowany możesz sprawdzić czy jest możliwe zainstalowanie Symfony zgodnie z instrukcją pod adresem https://symfony.com/doc/current/setup.html

Obsługiwane hostingi:

  • cyber_Folks,
  • LH.pl (SSH dostępne od pakietu KIWI),
  • smarthost.pl,
  • kylos.pl (rekomendują VPS ze względu na czas wykonywania skryptu composera),
  • dhosting (rekomendują EWH),
  • OVH (oferta PRO, ale pamięć gwarantowana jest dopiero od oferty Performance1),
  • zenbox (Hosting Ebiznes 25k lub Hosting profesjonalny),
  • AttHost (w ustawieniach strony proszę nie zaznaczać „Odizoluj stronę”),
  • aftermarket (od pakietu Biznes, żeby zmienić katalog na który wskazuje strona trzeba napisać do BOK)
  • nazwa.pl (sugerują min. VPS Start)

Ze względu na to, że każda firma oferuje różne wersje hostingu, proszę zawsze upewnić się wcześniej czy hosting obsłuży projekt oparty o Symfony 5.

Hostingi na których powinno działać, choć konsultanci tego nie gwarantują:

  • home.pl (SSH tylko od Biznes w górę, mało pamięci 256 lub 512 MB, niestandardowe dodawanie poleceń crona, poprzez odpowiednio nazwany plik PHP),
  • hostinger (w podstawowej wersji za mało pamięci, max 512 MB, w wersji biznes działa, zobacz na dole strony „Znane problemy” jak przekierować domenę na katalog public),
  • az.pl (za mało pamięci do aktualizacji composera, sugerują VPS)
  • proserwer.pl – (pakiet PRO lub wyższy) – brak możliwości ustawienia zadania crona jako linia poleceń PHP, wymóg stworzenia controllera dla crona.

Nieobsługiwane hostingi:

  • kei.pl (odpowiedź konsultanta: „Zwykły hosting nie spełni wymagań, jedynie VPS”),
  • WEBD.pl (mają wyłączone proc_open),

Instalacja skryptu wygląda podobnie jak instalacja standardowego projektu stworzonego w Symfony 5. Rozbudowana dokumentacja frameworka znajduje się pod adresem https://symfony.com/

Po zakupie skryptu zostanie dostarczone archiwum z plikami. Należy je skopiować na serwer.

Domena powinna wskazywać na katalog /public/ w plikach skryptu. Jeśli np. wgrywasz pliki do katalogu /home/test/domains/domena.pl/public_html/ to ustaw żeby domena wskazywała na katalog /home/test/domains/domena.pl/public_html/public/

Plik .env to główny plik konfiguracyjny systemu, należy go skonfigurować przed rozpoczęciem używania strony:

APP_ENV – powinno mieć wartość „prod”

APP_SECRET – losowy ciąg znaków

MAILER_DSN – ścieżka wysyłki maili, domyślnie ma wartość „sendmail://localhost” czyli maile są wysyłane z localhost. Aby zmienić np na wysyłkę przez SMTP musimy ustawić:

MAILER_DSN=smtp://user:pass@smtp.example.com:port

Więcej informacji pod https://symfony.com/doc/current/mailer.html

Wypełniamy dane do połączenia do bazy danych (jeśli hasło zawiera znaki specjalne należy dać je w cudzysłowie):

DATABASE_HOST=127.0.0.1
DATABASE_PORT=3306
DATABASE_USER=root
DATABASE_NAME=notice3
DATABASE_PASS=''
DATABASE_SERVER_VERSION=5.7

Wersja serwera bazy danych jest polem wymaganym.
Jeśli na serwerze jest baza MariaDB to należy dodać prefiks „mariadb-” np „mariadb-10.3.23”.
Wersję można sprawdzić wywołując w bazie danych polecenie SELECT VERSION();

Więcej informacji pod https://symfony.com/doc/current/configuration.html

APP_DEMO – czy ma być włączone demo panelu admina, domyślnie powinno być ustawione na 0

APP_URL – adres URL witryny (używany m.in. w linkach w mailach o końcu wyświetlania ogłoszenia, nie powinien zawierać znaku / na końcu)

APP_LANG – kod języka strony (w wersji instalacyjnej en lub pl)

Po skonfigurowaniu pliku .env należy uruchomić następujące polecenie w konsoli do instalacji pakietów (pamiętaj żeby polecenie uruchamiać w PHP min. 8.1 i że musi być ta sama wersja w konsoli jaką ma ustawiona domena):

composer install

Jeśli na hostingu nie masz zainstalowanego composera możesz skorzystać z tej instrukcji:

curl -sS https://getcomposer.org/installer | php

Wtedy zamiast composer musisz wpisywać (pod „php” na niektórych hostingach trzeba podać pełną ścieżkę do php na serwerze):

php composer.phar install

Jeśli wyświetla problem z brakiem pamięci można wykorzystać poniższe polecenia:

php -d memory_limit=-1 composer.phar install

Jeśli pakiety się poprawnie zainstalowały przechodzimy do kolejnego kroku. Ale jeśli wystąpił błąd (np. z brakiem pamięci lub proces został uśmiercony, wyświetla „killed”) należy skontaktować się z administratorem serwera.

Następnie zapełniamy bazę danych poleceniem:

php bin/console doctrine:migrations:migrate

Następny krok do dodanie użytkownika z prawami administratora z poziomu konsoli poleceniem:

php bin/console app:create-user

Skrypt zapyta się o login, adres email oraz hasło. Adres email zostanie automatycznie ustawiony na adres email administratora.

Po tym możemy się zalogować do panelu admina dodając do URL naszej domeny /admin

Następnie zalecane jest skonfigurowanie kluczy do reCAPTCHA zgodnie z instrukcją

Konfiguracja crona:

Należy ustawić następujące zadania crona z PHP w wersji min 8.1

Raz dziennie po północy:

php [sciezka do strony]/bin/console cron:daily

Co 10 min:

php [sciezka do strony]/bin/console cron:10min

Zobacz także ogólną instrukcję https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/ odnośnie ustawienia integracji z płatnościami itd.

W przypadku gdy strona korzysta z SSL należy w pliku public/.htaccess odkomentować (usunąć znak # z początku linii) te dwie linie:

RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

A następnie w pliku .env ustawić APP_URL z https

Jeśli ustawiliśmy APP_URL z „www” na początku to w pliku public/.htaccess usunąć te linie:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]

I zamiast nich wstawić:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Zobacz https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#uruchomienie_recaptcha

Skrypt może być uruchomiony w jednym języku. Pliki z tłumaczeniami znajdują się w katalogu /translations
Kategorie, regiony, filtry należy ręcznie przetłumaczyć w panelu admina.
Domyślny język można zmienić w pliku .env pod zmienną APP_LANG

Jeśli ustawisz inny język niż „pl” lub „en” pamiętaj o przetłumaczeniu adresów URL w kontrolerach (w plikach .php w katalogu /src/Controller)

Więcej informacji w dokumentacji https://symfony.com/doc/5.4/translation.html

Aby poprawnie skonfigurować płatności przez Przelewy24, PayPal, HotPay, TPay, PayU lub Blue Media patrz https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#platnosci

Aby na stronie była możliwość logowania przez Facebook lub Google należy stworzyć odpowiednie aplikacje na swoim koncie Facebook / Google.

Link do instrukcji dla logowania przez Facebook: https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#logowanie_fb

Jako adres URI do przekierowania proszę wpisać: https://nazwa-domeny/logowanie/fb

Link do instrukcji dla logowania przez Google: https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#logowanie_google

Jako adres URI do przekierowania proszę wpisać: https://nazwa-domeny/logowanie/google

Skrypt korzysta z biblioteki LiipImagineBundle do generowania miniatur zdjęć. Z tego też względu pierwsze wyświetlenie miniaturki może chwilę zająć (zależnie od szybkości serwera). Plik konfiguracyjny znajduje się w lokalizacji /config/packages/liip_imagine.yaml

Można w nim zmienić wymiary miniaturek zdjęć w ogłoszeniach oraz na liście wpisów blogowych. Można także dodać znak wodny do tych zdjęć zgodnie z https://symfony.com/bundles/LiipImagineBundle/current/filters/general.html#filter-watermark

Aby na serwerze opróżnić cache zdjęć należy wykonać polecenie:

php bin/console liip:imagine:cache:remove

Wtedy biblioteka będzie generować nowe miniaturki.

Skrypt wymaga aktualnej wersji biblioteki GD Library wspierającej format WEBP.

Więcej informacji pod adresem https://symfony.com/bundles/LiipImagineBundle/current/index.html

Skrypt jest wstępnie skonfigurowany pod aplikację PWA. Po instalacji skryptu można zmienić tytuł, kolor i inne dane aplikacji w pliku /public/manifest.json

Należy także podmienić ikonki w folderze /public/uploads/icons we wszystkich wymiarach. Można użyć generatora online do wygenerowania ikonek np. https://tools.crawlink.com/tools/pwa-icon-generator/

Po podmianie ikonek należy usunąć cache z telefonu/komputera.

W pliku offline.html można edytować tekst wyświetlany przy braku połączenia z Internetem.

Choć do obsługi strony wystarczy sama dobra znajomość poruszania się w Internecie to aby dokonać indywidualnych zmian w plikach należy posiadać wiedzę z zakresu PHP (najlepiej znać framework Symfony). Poniżej zamieszczam listę niektórych z częściej używanych poleceń.

Usuwanie cachu produkcyjnego (po np zmianach w szablonie)

php bin/console cache:clear --no-warmup -e prod

Tworzenie nowego kontrollera

php bin/console make:controller BrandNewController

Tworzenie nowej encji i aktualizacja bazy danych

php bin/console make:entity
php bin/console make:migration
php bin/console doctrine:migrations:migrate

Autor skryptu na prośbę klienta może wysłać najnowszą wersję skryptu, jednak to sam klient musi go zaktualizować.

Uwaga! Przed aktualizacją skryptu wykonaj kopię zapasową plików i bazy danych. Aktualizacja nadpisze wszystkie indywidualnie wykonywane modyfikacje. Wykonujesz aktualizację na własną odpowiedzialność!

Aby zaktualizować skrypt najpierw należy usunąć z serwera katalogi:
/bin/
/config/
/migrations/
/publis/assets/
/src/
/templates/
/translations/

Następnie z nowszej wersji skryptu wgrywamy na serwer wszystkie pliki i katalogi

Instalujemy od nowa biblioteki (w przypadku gdy np. dodano nowe pakiety) poleceniem:

composer install

Następnie wykonujemy aktualizację bazy danych (o ile została zaktualizowana) poleceniem:

php bin/console doctrine:migrations:migrate

I na koniec usuwamy cache:

php bin/console cache:clear --no-warmup -e prod
3.0.0 (23.08.2020)Premiera skryptu
3.0.1 (22.09.2020)Aktualizacja pakietów, linki do podstron po angielsku, naprawienie drobnych błędów przy edycji ogłoszenia
3.0.2
(24.09.2020)
Przetłumaczalne szablony maili, autofocus do pierwszych pól formularzy, naprawa problemu z przekierowaniem po zapisaniu podregionu lub podkategorii, naprawa ustawiania pozycji po edycji stron statycznych, możliwość ustawienia domyślnego regionu, adresu oraz telefonu w ustawieniach użytkownika
3.0.3
(14.10.2020)
Wprowadzenie kanału RSS FEED, wyszukiwarki ogłoszeń w panelu administracyjnym oraz na liście użytkowników. Przy aktywacji konta przydzielenie wszystkich ogłoszeń z danego adresu email do użytkownika. Wprowadzenie adresów URL po polsku i angielsku. Aplikacja PWA.
3.1.0
(23.10.2020)
Optymalizacja ładowania kategorii i regionów. Możliwość dodawania „podobnego ogłoszenia”. Alfabetyczne układanie kategorii, regionów oraz stron statycznych w panelu administracyjnym. 3 nowe pola na kody reklam. Automatyczne generowanie Sitemap (przez zadania crona). Możliwość komentowania ogłoszeń, profilów, wpisów blogowych przez Facebooka. Przejście z jQuery Lazy do Vue Lazy. Wyświetlanie liczby ogłoszeń w kategoriach.
3.1.1
(19.11.2020)
Poprawki w generowaniu sitemap. Usunięcie zbędnych tokenów. Uporządkowanie helperów klas i wspólna klasy do captchy oraz do maili. Możliwość dodawania administratorów z poziomu konsoli.
3.2.0
(03.12.2020)
Możliwość dodawania awatara do konta użytkownika oraz opisu na stronę profilu. Możliwość ustawienia opłat w zależności od długości trwania ogłoszenia. Integracja z płatnościami HotPay.
3.3.0
(12.01.2021)
Natywne lazyload do obrazków. Udostępnianie ogłoszeń przez WhatsApp. Logi logowania użytkowników, wysłanych maili i resetu hasła w panelu admina. Kolejkowanie wysyłki maili. Wysyłka mailingu z panelu admina. Możliwość edycji i usuwania ogłoszeń dodanych przez niezalogowanych użytkowników. Poprawki wizualne. Zaznaczanie naraz wielu ogłoszeń i użytkowników w panelu admina. Breadcrumbs (nawigacja okruszkowa) na liście ogłoszeń.
3.3.1
(11.02.2021)
Aktualizacja pakietów. Drobne poprawki funkcjonalności i stylów CSS na mobile. Micro dane dla ogłoszeń.
3.3.2
(01.03.2021)
Wyświetlanie ceny zależnie od kategorii (max 2 poziom kategorii).
3.3.3
(06.05.2021)
Możliwość sortowania ogłoszeń. Poprawa dostępności (dodanie atrybutów aria). Poprawa jakości kodu PHP i JS. Odseparowanie klas PHP z formularzami. Wprowadzenie BaseController.
3.3.4
(19.05.2021)
Zmiany w sortowaniu ogłoszeń. Własny skrypt resetu hasła. Zmiana wyglądu listy ogłoszeń na mobile.
Możliwość ustawiania tytułu SEO dla kategorii. Poprawki przy ładowaniu kategorii na liście ogłoszeń.
3.3.5
(28.06.2021)
Drobne poprawki w sortowania i filtrowaniu ogłoszeń. Aktualizacja do Symfony 5.2
3.4.0
(05.07.2021)
Poprawki w ładowaniu kategorii i filtrów, w CSS oraz w microdata. Ikony do przeglądarek. Generowanie miniaturek w WEBP. Optymalizacja zapytań do bazy danych. Zmiana slajdera z OWL na Swiper.
3.4.1
(07.07.2021)
Wspólne ustawienia waluty do płatności. Zmiana slajdera pełnoekranowego. Możliwość logowania przez konto Facebook i Google.
3.4.2
(12.08.201)
Poprawki w wyświetlaniu filtrów, zapamiętywanie ich widoczności. Zmiana wyglądu maili.
Zapisywanie liczby wyświetleń ogłoszenia. Style dla drukarek. Wykres statystyk w panelu administracyjnym. Zgłaszanie naruszeń w ogłoszeniach. Czarna lista adresów email, IP i słów kluczowych.
3.5.0
(24.08.2021)
Aktualizacja do Symfony 5.3. Przejście z Bootstrap 4 do Bootstrap 5.
3.5.1
(19.09.2021)
Poprawki nazw zmiennych. Drobne poprawki wizualne.
3.5.2
(21.10.2021)
Komunikat o Cookie. Wartości filtrów w adresie URL po przecinku. Dodanie indeksów do bazy danych. Usuwanie logów płatności.
3.5.3
(28.10.2021)
Aktualizacja klas uwierzytelniania do Symfony 5.3
3.5.4
(15.11.2021)
Zmiany w slajderze ogłoszenia. Link do edycji ogłoszeń dla moderatorów. Poprawione linki do udostępniania w mediach społecznościowych. Dodanie przycisku do przewijania na górę strony. Przejście na Vue 3.
3.5.5
(10.12.2021)
Dodanie nowych indeksów w bazie danych.
3.6.0
(03.01.2022)
Moduł newsletteru. Lista zapisanych do newsletteru w panelu administracyjnym. Podpowiedzi do wyszukiwarki. Możliwość ukrycia danych kontaktowych ogłoszenia dla niezalogowanych.
3.6.1
(14.04.2022)
W nawigacji okruszkowej na liście ogłoszeń wszystkie poziomy regionów i kategorii. Avatar w pasku menu.
3.6.2
(22.04.2022)
Aktualizacja pakietów. Optymalizacja kodu HTML. Canonical na liście ogłoszeń. Numer strony w title. Poprawa breadcrumb. Lepsze podpowiedzi do wyszukiwarki na stronie głównej.
3.6.3
(03.10.2022)
Poprawa płatności Przelewy24. Poprawa wyświetlania paginacji i strony ogłoszenia na urządzeniach mobilnych.
3.6.4
(25.10.2022)
Aktualizacja Bootstrap, FontAwesome, Axios i Swiper. Poprawa wyświetlania zdjęć w ogłoszeniach.
3.6.5
(30.01.2023)
Poprawki w wyszukiwaniu ofert i użytkowników.
3.6.6
(05.02.2023)
Usunięcie systemu płatności DotPay. Przebudowa klas płatności.
3.7.0
(22.02.2023)
Wprowadzenie płatności TPay, Payu oraz Blue Media. Możliwość zaznaczania wielu filtrów w panelu admina.
3.7.1
(12.04.2023)
Aktualizacja do Symfony 5.4. Aktualizacja Recipes w Symfony. Poprawa tłumaczeń, SEO oraz sformatowanie kodu JS. Poprawa microdata dla ogłoszeń.
3.7.2
(15.04.2023)
Czarna lista używana także w formularzu kontaktowym ogłoszenia. Rozdzielenie kodu w body za tagiem otwierającym i przed zamykającym. Zapisywanie daty uruchomienia crona. Zmiana wyglądu listy ogłoszeń. Dodanie nowych miejsc reklamowych. Możliwość podania całej domeny dla czarnej listy adresów email. Wyświetlanie liczby rekordów w panelu admina nad paginacją. Przebudowa reCAPTCHA.
3.7.3
(26.04.2023)
Poprawa microdata i „Bez ceny”. Paginacja ogłoszeń w Sitemap. Zapisywanie prawdziwej daty zakończenia wyświetlania ogłoszenia. Wybór czy wyświetlać liczbę wyświetleń ogłoszenia.
3.7.4
(20.05.2023)
Poprawa microdata w ogłoszeniach. Możliwość wyszukiwania w logach wysłanych maili.
3.8.0
(16.08.2023)
Nowa minimalna wersja PHP: 8.1. Wprowadzenie alternatywy dla deprecated getDoctrine(). Upgrade Annotations to Attributes. Aktualizacja bibliotek CSS, JS oraz pakietów composera. Dodanie aria-label do przycisków. Natywne komentarze do ogłoszeń. Poprawa wyglądu na mobile. Kontakt przez Messenger.
3.8.1
(28.08.2023)
Poprawa błędów zwracanych podczas logowania przez FB i Google. Nowe ikony kategorii. Aktualizacja UserPasswordEncoderInterface. Dodanie atrybutu title do wszystkich linków.
3.8.2
(31.08.2023)
Mapa Google na stronie z ogłoszeniem. System wewnętrznych wiadomości dla zalogowanych użytkowników. Dodanie constraints do klas PHP formularzy.

Aby włączyć wyświetlanie błędów na ekranie należy w pliku .env zmienić APP_ENV=prod
na

APP_ENV=dev

W wersji produkcyjnej należy wrócić do „prod”. Logi błędów można także podejrzeć w pliku /var/log/dev.log oraz /var/log/prod.log

Przy instalacji pakietów wyświetla „requires ext-zip * -> it is missing from your system. Install or enable PHP’s zip extension.”

Należy z konsoli zainstalować:

sudo apt-get install php8.1-zip

(gdzie 8.1 to wersja PHP)
Jeśli wyświetla bład z „ext-xml” należy uruchomić:

sudo apt-get install php-xml

Przy próbie wysłania maila (np. przy aktywacji ogłoszenia, rejestracji) wyświetla błąd.

Domyślnie w pliku .env jest ustawiona wysyłka maili z localhost:

MAILER_DSN=sendmail://localhost

Jeśli Twój serwer tego nie wspiera musisz ustawić wysyłkę przez np. SMTP:

MAILER_DSN=smtp://user:pass@smtp.example.com:port

Więcej informacji pod https://symfony.com/doc/current/mailer.html

Przy próbie migracji bazy danych wyświetla „An exception occured in driver: could not find driver with mysql”

Należy zainstalować sterownik mysql:

sudo apt install php-mysql

Symfony Make:Migration: The metadata storage is not up to date, please run the sync-metadata-storage command to fix this issue

W pliku konfiguracyjnym /config/packages/doctrine.yaml podana została nieprawidłowa wersja serwera bazy danych. Jeśli na serwerze jest baza MariaDB to należy dodać prefiks „mariadb-” np „mariadb-10.3.23”. Więcej informacji pod adresem https://github.com/doctrine/DoctrineMigrationsBundle/issues/337#issuecomment-645390496

Przekierowanie domeny na katalog public (np. Hostinger)

Niektóre hostingi nie umożliwiają przekierowania domeny na dany katalog. Należy do nich np. Hostinger. Aby przekierować w tej sytuacji domenę na katalog public należy w katalogu public_html stworzyć plik .htaccess z takim kodem (podmieniając nazwę domeny na własną):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]

Problem z polskimi znakami w bazie danych

Problem pojawił się po imporcie gotowej bazy danych z jednego hostingu na hosting home.pl. Stare dane pobierane z bazy danych nie wyświetlały poprawnie polskich znaków. Rozwiązaniem okazało się dodanie do pliku config/packages/doctrine.yaml
doctrine:
dbal:
options:
1002: „SET NAMES 'UTF8′ COLLATE 'utf8_unicode_ci'”

Nie tworzą się zdjęcia, nie zostały załadowane style bibliotek np. edytora wizualnego

Skrypt musi mieć prawa dostępu do zapisu w folderze public. Zarówno composer przy instalacji pakietów jak i później Symfony przy uruchomionej stronie. Należy ustawić prawa dostępu 0777 dla folderu /public.

Strona nie działa, wyświetla błąd: require(): open_basedir restriction in effect.

Błąd może się pojawić na hostingach AttHost po zaznaczeniu „Odizoluj stronę” w ustawieniach strony www. Należy ją odznaczyć.

Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Więcej informacji

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close