Strona główna forum Wsparcie Konfiguracja Problem z rewritem przy pokazywaniu Producentów

Problem z rewritem przy pokazywaniu Producentów

Wszystko o konfiguracji, możliwościach i ustawieniach...


Posty: 16
Gadu-Gadu: 0

Witam,

Przy wyświetlaniu Katalogu producentów modul ktory je wyswietla pokazuje "surowe " linki o kształcie
/catalogsearch/advanced/result/?&manufacturer=Numer

Zmienilem modul do aby wyswietlał mi linki ladniejsz np: /Producent/NazwaProducent/Numer z manufacturer
Modul poprawnie mi działa ale nie moge sobie poradzic z regulami w rewrite..
Przygotowałem regułe ale nie zabardzo wiem gdzie ja wstawić aby działała poprawnie.

## Reguła
  RewriteRule ^producent/(.+)/([0-9]+)/?$ /catalogsearch/advanced/result/?&manufacturer=$2


Poniżej fragment .htacces sekcja mod_rewrite.c


<IfModule mod_rewrite.c>

############################################
## enable rewrites

    Options +FollowSymLinks
    RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

    RewriteBase /

############################################
## workaround for HTTP authorization
## in CGI environment
 
   RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
   RewriteRule ^(index.php/)?minify/([^/]+)(/.*.(js|css))$ lib/minify/m.php?f=$3&d=$2
 
   RewriteCond %{HTTP_HOST} ^www.XXX.info
   RewriteRule (.*) http://XXX.info/$1 [R=301,L]

   #### Nie działa poprawnie !!!
   RewriteRule ^producent/(.+)/([0-9]+)/?$ /catalogsearch/advanced/result/?&manufacturer=$2 [L]
 
############################################
## always send 404 on missing files in these folders

    RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

############################################
## never rewrite for existing files, directories and links

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

   RewriteRule .* index.php [L]

############################################
## Compress, Combine and Cache Javascript/CSS

</IfModule>

############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

    AddDefaultCharset Off
 
<IfModule mod_expires.c>

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

    ExpiresDefault "access plus 1 year"

</IfModule>

############################################
## By default allow all access

    Order allow,deny
    Allow from all

############################################
## If running in cluster environment, uncomment this
## http://developer.yahoo.com/performance/rules.html#etags

    #FileETag none




=========
Artur
Nevonet.com
Magento Solutions

Problem z rewritem przy pokazywaniu Producentów

PostTeraz jest 4 maja 2024, o 06:54
Google

Posty: 427
Lokalizacja: Internet


Posty: 1575
Gadu-Gadu: 0

np po RewriteBase /
hosting-magento.pl / magentohosting.eu - szybki hosting Magento
https://www.mage24.pl/ - twój sklep Magento 2 w 5 minut


Posty: 16
Gadu-Gadu: 0

po RewriteBase /
juz probowałem i nic...

Dodam że próbowałem już wiele razy .. tylko nie za bardzo wiem gdzie już szukać problemu?

---
Artur
Nevonet.com
Magento Solutions


Posty: 1575
Gadu-Gadu: 0

Może to po prostu zła reguła, lub moduł nie działa ??
hosting-magento.pl / magentohosting.eu - szybki hosting Magento
https://www.mage24.pl/ - twój sklep Magento 2 w 5 minut


Posty: 1575
Gadu-Gadu: 0

A może zrobić to inaczej, po prostu przypisać im stałe odnośniki w .htaccess (linijka na producenta) i zamieniać rewritem na liczby (jeśli nie masz z tam dużo tych producentów)??
hosting-magento.pl / magentohosting.eu - szybki hosting Magento
https://www.mage24.pl/ - twój sklep Magento 2 w 5 minut


Posty: 16
Gadu-Gadu: 0

Moduł nie stanowi problemu bo jego rola jest wyświetlić link do kliknięcia.
Reguła może być faktycznie zła... ale ja tego nie jestem w stanie stwierdzić.
Reguła to standardowy przykład... przekierowania z linku jednego parametru w ziety z jakiegoś helpu jakich jest dużo... i zazwyczaj są identyczne.

A co do przypisania na stałe... hmm moge to tak zrobić... ale jak by to w tedy wyglądało?

---
MrLei
Nevonet.com
Magento Solutions


Posty: 93
Gadu-Gadu: 4275000

Można też skorzystać z zawartego w Magento mechanizmu przepisywania adresów URL.
Zauważ, że w PA -> Katalog-> Url Rewrite Management możesz dopisać dla każdego producenta przepisanie.
Można to zautomatyzować, dopisując kawałek kodu, który doda/zmodyfikuje odpowiedni wpis do przepisań URL podczas zapisywania cechy.

Najlepiej zaimplementować to w metodzie _afterSave() klasy Mage_Catalog_Model_Resource_Eav_Attribute, albo którejś z jej klas bazowych (metoda ta jest wywołana po poprawnym zapisaniu cechy). Oczywiście trzeba też zaimplementować metodę _beforeDelete() (aby usunąć odpowiednie wpisy podczas usuwania cechy)

Kod, który modyfikuje/dodaje Url Rewrite do bazy można znaleźć w metodach _initRegistry() i saveAction() klasy Mage_Adminhtml_UrlrewriteController

Życzę powodzenia :)


Posty: 1575
Gadu-Gadu: 0

Kasky dobrze gada, użyj Zarządzanie przekierowaniami URL, tam dodajesz takie rzeczy bardzo prosto, co do nadpisywania klas to jeśli nie masz więcej niż 20 producentów to bym się w to nie bawił.
hosting-magento.pl / magentohosting.eu - szybki hosting Magento
https://www.mage24.pl/ - twój sklep Magento 2 w 5 minut


Posty: 16
Gadu-Gadu: 0

Kasky, rozważałem użycie na sztywno mechanizmu UrlRewrite Menager i prawdodobnie tak się skończy. Drugi sposób to za duża ingerencja a zależy mi jednak aby jak najmniej "dotykać" magento bo aplikacja będzie musiał przechodzić aktualizacje i im mniej do przeróbki tym lepiej.
Zmiana gotowego modułu aby generował ładny link to tylko zmiana jednej linki + 2 metody... + (wydawało by się ) jedna linijka w htacces .. :-)

kkkonrad tak zrobię to ręcznie ale zawsze wole sobie "skrobnąć" kilka linijek niż ręcznie to robić a producentów mam 892 :-) a to tylko jedna z 16 kategorii głownych.

--> 16 kategorii główny każda od 200 - 1200 producentów ... i to wszystko ręcznie :(


---
MrLei
Nevonet.com
Magento Solutions


Powrót do Konfiguracja