Bartosz Rosa 1 767 Napisano 15 Lutego 2018 Udostępnij Napisano 15 Lutego 2018 w Dynamiczna lista wypunktowana z pól własnych Jak zrobić dynamiczną listę w nowym opisie Allegro generowaną z pól własnych towaru? Na początek należy utworzyć pola własne - tyle ile maksymalnie może być różnych elementów na liście wypunktowanej. Można oczywiście posłużyć się również już zdefiniowanymi polami, lub też polami z Subiekta. Ja posłużę się dla przykładu nowymi 4 polami (można dodać dowolną ilość pól). W słowniku pól własnych tworzę pola: cecha_1 cecha_2 cecha_3 cecha_4 itd.. W tych polach będą umieszczane wartości, które mają się pojawić na liście wypunktowanej. Następnie dodaję nowe pole globalne o nazwie cechy_towaru z poniższą zawartością: <ul> [Towar::PW::cecha_1 | template=`<li>{value}</li>`] [Towar::PW::cecha_2 | template=`<li>{value}</li>`] [Towar::PW::cecha_3 | template=`<li>{value}</li>`] [Towar::PW::cecha_4 | template=`<li>{value}</li>`] </ul> W tym miejscu można użyć w podobny sposób innych pól towaru własnych lub zewnętrznych. Modyfikator template zapewni dodatkowo, żeby nie generowały się puste wypunktowane elementy. Jeśli w towarze nie będzie danego tagu to nie zostanie wygenerowany element listy li. W towarze, można teraz przypisywać cechy do pól własnych cecha_1..cecha_4 Natomiast w szablonie opisu aukcji, należy wstawić tag: [Podmiot::PW::cechy_towaru] W ten sposób dodając wybrane pola własne do towaru (co można robić zbiorczo) możemy za pomocą jednego tagu dodawać dynamicznie generowaną listę wypunktowaną nie wnikając w HTML, który jest pod spodem. Cytuj Link to postu
Mamut Maniek 114 Napisano 24 Marca 2018 Udostępnij Napisano 24 Marca 2018 w Dynamiczna lista wypunktowana z pól własnych Dodawanie takiej ilości pól własnych nie jest zbytnio optymalne. Lepszym sposobem było by przeznaczenie na cechy jednego pola własnego i wypunktowanie każdej linijki tekstu. Testowałem takie rozwiązanie. Utworzyłem pole własne dla towarów o nazwie "Cechy" zaznaczając przy tym opcję "Zamieniaj znaki nowej linii na znacznik <br />" i uzupełniłem to pole w pewnym towarze kilkoma cechami oddzielając je znakami nowej linii (ENTER), przykład: Cytat Picture Quality Index: 3400 Rozdzielczość UHD (4K) Q Picture: Technologia Quantum Dot W szablonie opisu dodałem taką regułkę: [Towar::PW::Cechy|template=`<li>{value}</li>`|replace=`<br />==</li><li>`] ale niestety nie działa. W efekcie dostaje coś takiego: Cytat <li>Picture Quality Index: 3400Rozdzielczość UHD (4K)Q Picture: Technologia Quantum Dot</li> zamiast coś takiego: Cytat <li>Picture Quality Index: 3400 </li><li>Rozdzielczość UHD (4K) </li><li>Q Picture: Technologia Quantum Dot</li> Testowałem to rozwiązanie psiłkując się dodatkowo polem własnym globalnym ale też nie dało to pożądanego efektu (coś namieszane w tym systemie jest parsowanie kodu HTML) Może macie inny pomysł jak to ogarnąć? Cytuj Link to postu
MARCIN e-kupowanie.pl 1 009 Napisano 24 Marca 2018 Udostępnij Napisano 24 Marca 2018 w Dynamiczna lista wypunktowana z pól własnych Ja mam tak (zachowuję swoją "złożoną" nazwę "NO_ul_w_zestawie"): W SZABLONIE OPISU w bloku tekstowym: [Podmiot::PW::NO_ul_w_zestawie] POLE GLOBALNE podmiotu: <ul> [Towar::PW::NO_ul_w_zestawie_0 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_1 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_2 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_3 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_4 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_5 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_6 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_7 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_8 | template=`<li>{value}</li>`] [Towar::PW::NO_ul_w_zestawie_9 | template=`<li>{value}</li>`] </ul> I POLA WŁASNE dodane do towarów, w które wpisuję, to co ma być na liście w aukcji. W efekcie tworzy się ładna wypunktowana lista. Cytuj Link to postu
MARCIN e-kupowanie.pl 1 009 Napisano 24 Marca 2018 Udostępnij Napisano 24 Marca 2018 w Dynamiczna lista wypunktowana z pól własnych Zamiast usuwać br zrób tak: <p> </p> PS chyba za długi poprzedni post był, bo nie mogłem już nic tam wpisać... (?) Cytuj Link to postu
Mamut Maniek 114 Napisano 25 Marca 2018 Udostępnij Napisano 25 Marca 2018 w Dynamiczna lista wypunktowana z pól własnych Przecież napisałeś to samo co @Bartosz Rosa wyżej. Mi bardziej chodziło o przejrzystość tego kodu bez niepotrzebnego powielania pól własnych oraz o prawidłowe działanie funkcji modyfikatorów. Cytuj Link to postu
MARCIN e-kupowanie.pl 1 009 Napisano 25 Marca 2018 Udostępnij Napisano 25 Marca 2018 w Dynamiczna lista wypunktowana z pól własnych 52 minuty temu, maniootek napisał: Przecież napisałeś to samo co @Bartosz Rosa wyżej. Faktycznie... Nie przeczytałem wątku przy pisaniu... Cytuj Link to postu
Bartosz Rosa 1 767 Napisano 26 Marca 2018 Autor Udostępnij Napisano 26 Marca 2018 w Dynamiczna lista wypunktowana z pól własnych Dnia 24.03.2018 o 11:58, maniootek napisał: Dodawanie takiej ilości pól własnych nie jest zbytnio optymalne. Lepszym sposobem było by przeznaczenie na cechy jednego pola własnego i wypunktowanie każdej linijki tekstu Ale wtedy nie skorzystasz ze zmian zbiorczych. Dnia 24.03.2018 o 11:58, maniootek napisał: Może macie inny pomysł jak to ogarnąć? Spróbuj skorzystać z modyfikatorów escape_xml i unescape_xml. Jeśli zapisujesz kod HTML (<li>) w edytorze graficznym to on jest zamieniany na <l;li> i na takich wartościach trzeba operować w tagach a nie na nawiasach ostrych. Cytuj Link to postu
Mamut Maniek 114 Napisano 26 Marca 2018 Udostępnij Napisano 26 Marca 2018 w Dynamiczna lista wypunktowana z pól własnych 6 godzin temu, Bartosz Rosa napisał: Ale wtedy nie skorzystasz ze zmian zbiorczych. Przykładowo w jakim przypadku? 6 godzin temu, Bartosz Rosa napisał: Spróbuj skorzystać z modyfikatorów escape_xml i unescape_xml. Jeśli zapisujesz kod HTML (<li>) w edytorze graficznym to on jest zamieniany na <l;li> i na takich wartościach trzeba operować w tagach a nie na nawiasach ostrych. To już coś. Spróbowałem takiego kodu w szablonie opisu [Towar::PW::Cechy|escape_xml|template=`<li>{value}</li>`|replace=`<br />==</li><li>`|unescape_xml] finalnie dostał takie efekt: wygląda na to, że unescape_xml nie działa dla kodu html wpisanego w template Cytuj Link to postu
Bartosz Rosa 1 767 Napisano 26 Marca 2018 Autor Udostępnij Napisano 26 Marca 2018 w Dynamiczna lista wypunktowana z pól własnych 1 godzinę temu, maniootek napisał: Przykładowo w jakim przypadku? W przypadku gdybyś chciał dodać kolejną cechę lub jakąś usunąć z towarów. Modyfikator template jest traktowany inaczej niż pozostałe, jest on wykonywany zawsze na końcu, zatem to co wpiszesz w jego wartość nie będzie przetwarzane przez inne modyfikatory. Cytuj Link to postu
Polecane posty
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.