IAI XML XSLT need help :)

IAI XML XSLT need help :)
bonko
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:35
0

Witam.

Kłania się Jarosław.
Jestem nowym użytkownikiem 4programmers.

Mam problem z sterownikiem do IAI iOF 2.6 a praktycznie go kończę.

(Uzyskać jakąkolwiek pomoc developerską od strony IAI to tragedia)

Możliwe że ktoś tutaj z obecnych miał styczność z pisaniem sterownika.

Głównie nie mam pojęcia w jaki sposób wyciągnąć produkty z zestawów. Z produktów to ścieżka

<xsl:for-each select="/offer/products/product">

A co do zestawów to lipa. Any know ?

Również przydałaby się pomoc z wyciąganiem adresów URL ikon aukcyjnych. Sam link produktu to pestka.

Kopiuj
 <xsl:attribute name="link_produktu">
                  <xsl:value-of select="card/@url" />
               </xsl:attribute> 

Próbowałem podpiąć url ikon aukcyjnych na podstawie:

Kopiuj
 <xsl:attribute name="stan_magazynowy">
                  <xsl:choose>
                     <xsl:when test="iaiext:sizes">
                        <xsl:value-of select="iaiext:sizes/iaiext:size/iaiext:stock/@quantity" />
                     </xsl:when>
                     <xsl:otherwise>
                        <xsl:value-of select="sizes/@quantity" />
                     </xsl:otherwise>
                  </xsl:choose>
               </xsl:attribute> 

Jednak nic mi z tego nie wychodziło.

edytowany 2x, ostatnio: bonko
bonko
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:35
0

any ??

bonko
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:35
0

To inaczej. Link do drobnej dokumentacji. Poniżej mój kod.

https://www.idosell.com/pl/shop/developers/formats/iof/extensions/iof-extensions-szczegolowe-informacje-o-towarach-w-ofercie-w-formacie-iof/

Kopiuj
<xsl:attribute name="link_zdjecia">
                  <xsl:choose>
                     <xsl:when test="iaiext:icons">
                        <xsl:value-of select="images/iaiext:icons/iaiext:auction_icon" />
                     </xsl:when>
                     <xsl:otherwise>
                        <xsl:value-of select="@url = 'auction_icon'" />
                     </xsl:otherwise>
                  </xsl:choose>
               </xsl:attribute>

Wynik jaki otrzymuje to ="false"

Kopiuj
<xsl:attribute name="parametry">
                  <xsl:choose>
                     <xsl:when test="iaiext:parameters">
                        <xsl:value-of select="iaiext:parameters/iaiext:parameter/@textid" />
                     </xsl:when>
                     <xsl:otherwise>
                        <xsl:value-of select="@textid = 'parameter'" />
                     </xsl:otherwise>
                  </xsl:choose>
               </xsl:attribute>

Również to samo.

Praktycznie cały kod mam gotowy. Na tych dwóch atrybutach się zatrzymałem.

Gdzie mam błąd ? Thx !

edytowany 2x, ostatnio: bonko
1

Witam,
Ja parametry wydobywam w taki sposób, ale w węźle <xsl:for-each select="/offer/products/product">

Kopiuj
<xsl:for-each select="parameters/parameter">
				<xsl:if test="@id=5">	  
				<Kolor><xsl:value-of select="value/@name"></xsl:value-of></Kolor>
				</xsl:if>
				<xsl:if test="@id=6">	  
				<Cholewka><xsl:value-of select="value/@name"></xsl:value-of></Cholewka>
				</xsl:if>
				<xsl:if test="@id=1262706807">	  
				<Wnetrze_buta><xsl:value-of select="value/@name"></xsl:value-of></Wnetrze_buta>
				</xsl:if>
				<xsl:if test="@id=1338378979">	  
				<Tegosc><xsl:value-of select="value/@name"></xsl:value-of></Tegosc>
				</xsl:if>
				<xsl:if test="@id=12">	  
				<Zapiecie><xsl:value-of select="value/@name"></xsl:value-of></Zapiecie>
				</xsl:if>
				<xsl:if test="@id=1262706205">	  
				<Wysokosc_obcasa><xsl:value-of select="value/@name"></xsl:value-of></Wysokosc_obcasa>
				</xsl:if>
				<xsl:if test="@id=9">	  
				<Rodzaj_obcasa><xsl:value-of select="value/@name"></xsl:value-of></Rodzaj_obcasa>
				</xsl:if>
				<xsl:if test="@id=16">	  
				<Material_obcasa><xsl:value-of select="value/@name"></xsl:value-of></Material_obcasa>
				</xsl:if>
</xsl:for-each>

TextID wg mnie nie działa tutaj w ogóle, więc trzeba jechać po zwykłych ID parametrów.

W ten sposób zdjęcia:

Kopiuj
<xsl:for-each select="images/large/image">
<bigimage>
	<xsl:value-of select="@url"></xsl:value-of>
</bigimage>
</xsl:for-each>
bonko
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:35
0

W jaki sposób wyciągasz kategorie produktu ?

kate87
w pliku xml nie ma jakiejś "category" lub coś w podobie nadrzędnej do samego produktu?
bonko
produkty są przypisane do kategorii.. np nike night blazer są przypisane do kategorii "buty/nike"
kate87
No to podajesz ścieżkę buty/kategoria czy jak ona się nazywa w xmlu i i tyle. Tylko nie zapomnij o jakimś id które tam masz.
bonko
Tyle to ja wiem :) Tylko nie wiem jaka jest dokładna ścieżka np. <td><xsl:value-of select="product/@category" /></td>
bonko
Ok mam :) category/@name :)
bonko
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:35
0

Teraz jest zagadka... W jaki sposób pobrać towary ukryte na stronie ? Any know :)?

0
bonko napisał(a):

Teraz jest zagadka... W jaki sposób pobrać towary ukryte na stronie ? Any know :)?
Coś takiego po ```
<xsl:for-each select="/offer/products/product">

Kopiuj

<xsl:if test="iaiext:visibility/iaiext:site/@visible=yes or iaiext:visibility/iaiext:site/@visible=no"></xsl:if>

Kopiuj
Nie wiem na ile to działa, ale z tym bym kombinował, ja tak ograniczam np po producencie. Więc powinno działać z ukrytymi towarami też.
0
bonko napisał(a):

Teraz jest zagadka... W jaki sposób pobrać towary ukryte na stronie ? Any know :)?
To jeszcze raz xD
Po ```
<xsl:for-each select="/offer/products/product">

Kopiuj
Coś takiego 

<xsl:if test="iaiext:visibility/iaiext:site/@visible=yes or iaiext:visibility/iaiext:site/@visible=no">

Kopiuj

i zamykasz na koncu </xsl:if>

 Nie wiem na ile to działa, ale z tym bym kombinował, ja tak ograniczam np po producencie. Więc powinno działać z ukrytymi towarami też.
0

Ja sprawdzałem to co napisał kolega powyżej i nie działa. Również mamy z tym problem....

bonko
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:35
0

Sprawdzałem i nic.

Otrzymałem odp. od IAI że nie ma takiej możliwości aby wyciągnąć ukryte produkty do xml (dziwi mnie to...). Jedyna możliwość to odkrycie produktów.

0

W nowej specyfikacji iof extensions iaia pojawił się taki parametr, ale przetestowałem i faktycznie nie działa.

U mnie pojawił nieco inny problem, może macie jakieś doświadczenie z tym, mianowicie obecnie moje sterowniki generują ofertę po produktach, a moje produktu mają rozmiary. Chciałem wygenerować plik tak aby rozmiar był osobnym produktem w tym xmlu. Niestety iai unika odpowiedzi, proponując płatną pomoc w napisaniu sterownika, a sam nie znalazłem takiej opcji w specyfikacji.

bonko
W IAI to norma ze cos jest nie tak. Tylko sam sie zastanawiam jak podpisac rozmiar jako osobny produkt, musialbys napisac sterownik do wyciagania rozmiarow z nazwa kolumny ID. Bezposrednio w jednym xml nie mam pojecia jak
bonko
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:35
0

Tak wygląda mój kod do pobierania zdjęć:

Kopiuj
<xsl:for-each select="images/large/image">
<bigimage>
    <xsl:value-of select="@url"></xsl:value-of>
</bigimage>
</xsl:for-each>

Jednak gdy zdjec jest np.5 to znakiem nastepnego zdjecia jest | i mam problem z pobraniem zdjec... Ma ktos pojecie jak zapisac te cudo do pobierania zdjec tak aby zdjecia wyswietlaly sie po , lub kazde w osobnej kolumnie ??

D4
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:Szczecin
  • Postów:1
0
bonko napisał(a):

Tak wygląda mój kod do pobierania zdjęć:

Kopiuj
<xsl:for-each select="images/large/image">
<bigimage>
    <xsl:value-of select="@url"></xsl:value-of>
</bigimage>
</xsl:for-each>

Jednak gdy zdjec jest np.5 to znakiem nastepnego zdjecia jest | i mam problem z pobraniem zdjec... Ma ktos pojecie jak zapisac te cudo do pobierania zdjec tak aby zdjecia wyswietlaly sie po , lub kazde w osobnej kolumnie ??

Mówisz o pliku full.xml z oferty IOF czy o pliku źródłowym otrzymywanym dla własnej porównywarki cen?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.