Bruker HTML5 bildekode for responsive bilder. Nødvendige, valgfrie og ugyldige elementer

For å lage et smart banner må du legge til en feed - en fil med informasjon om varer og tjenester. Direct vil analysere innholdet i feeden og automatisk generere et smart banner med produkttilbud for visning på nettverk. Du kan bruke feeden som ble lastet opp når du oppretter dynamiske annonser.

Bedrifts- og fôrtyper

For å laste opp feeden din, må du velge hvilken type virksomhet du annonserer for.

Fôrtype Type virksomhet For hva
Yandex.Market-feed (XML) Detaljhandel Salg av elektronikk og tilbehør, husholdningsapparater, industrielt utstyr, klær, møbler, hagevarer, sportsutstyr, byggevarer, barnevarer, dekk og hjul, kosmetikk, parfymer m.m.
Mate "Hotell og utleieboliger" Google Ads (CSV) Hoteller Hotell reservasjon
Feed Auto.ru (XML) Biler Salg av nye og brukte biler
Yandex.Realty-feed (XML) Eiendom Salg av boligeiendom
Google Ads «Flyreiser»-feed (CSV) Flyreiser Salg av flybilletter
Universalfeed (CSV) Annen virksomhet Varer og tjenester som ikke egner seg for andre typer virksomhet
Yandex.Market-feed (XML)
Google Ads Special-feed (CSV).
Google Ads reisefeed (CSV) Salg av turer, togbilletter, ferger m.m.

Produkttilbud som ikke er beskrevet i henhold til deres type, avvises.

Fôrkrav

Ethvert XML-dokument kan bare inneholde ett rotelement. YML-formatet bruker elementet som root ... Elementets datoattributt må samsvare med datoen og klokkeslettet da YML-filen ble generert på annonsørens side. Datoen må være i formatet ÅÅÅÅ-MM-DD tt: mm.

  • Forenklet beskrivelsestype
  • Egendefinert beskrivelsestype (vendor.model)

Grunnleggende, enklere type beskrivelse.

Eksempel: \ n\ n 1620.00\ n 1800.00\ n GNI\ n 19\ n \ n falsk\ n ekte\ n falsk\ n ESET NOD32 Platinum Edition Antivirus\ n Eset\ n NOD32-ENA-NS (BOKS) -2-1\ n ESET Antivirus NOD32 Platinum Edition - 2-års lisens NOD32-ENA-NS (BOX) -2-1\ n Betaling: Kontant, B/N, plastkort, kreditt\ n ekte\ n Russland\ n 18\ n

Elementattributter

Varer inkludert i

Element Beskrivelse
Navn

Navnet på produkttilbudet. Det anbefales å angi produsentens navn og kode i tittelen på et forenklet forslag.

Nødvendig element.

url

Produktside-URL.

Nødvendig element.

bilde
pris
valuta-ID
modell
Leverandør

Produsent.

leverandørkoden
beskrivelse
kategori-ID

.

markedskategori
butikk
plukke opp
leveranse
gammel pris
salgsnotater

Informasjon om bestilling:

Produsentgaranti

Tilgjengelighet av garanti:

opprinnelsesland

Opprinnelsesland for produktet.

voksen
alder
nedlastbar

Mulighet for å laste ned produktet:

    sant - produktet kan lastes ned;

    usann - produktet kan ikke lastes ned.

Denne typen beskrivelse er den mest praktiske og allsidige; den anbefales for å beskrive produkter fra de fleste kategorier.

Eksempel: \ nhttp://www.надежнаятехника.рф/catalog/element/index.php?from=ya_market&utm_source=ya_market&utm_medium=cpc&\ n 889.00\ n 17000.00\ n RUR\ n 1111\ n http://89.123.45.678/catalog/photo/19/6.JPG\ n falsk\ n falsk\ n ekte\ n en skriver\ n HP\ n Deskjet D2663\ n En serie med skrivere for folk som leter etter en pålitelig, brukervennlig fargeskriver for hverdagsutskrifter ...\ n Forskuddsbetaling kreves.\ n ekte\ n Japan\ n

Elementattributter

Egenskap Beskrivelse
id

Produkt ID.

Obligatorisk attributt.

type

Obligatorisk attributt.

tilgjengelig

Mulighet for å kjøpe et produkt:

  • sant - produktet er på lager;
  • usann - produktet er utsolgt.
Egenskap Beskrivelse
id

Produkt ID.

Obligatorisk attributt.

type

Tilbudsbeskrivelsestype. Verdien skal være vendor.model.

Obligatorisk attributt.

tilgjengelig

Mulighet for å kjøpe et produkt:

  • sant - produktet er på lager;
  • usann - produktet er utsolgt.

Varer inkludert i

Element Beskrivelse
url

Produktside-URL.

Nødvendig element.

bilde

Et must for smarte bannere.

pris

Prisen dette produktet kan kjøpes for.

valuta-ID

Valutakode (RUB, USD, UAH, KZT).

Obligatorisk hvis det er et priselement.

modell

Nødvendig element.

Leverandør

Produsent.

Nødvendig element.

leverandørkoden

Produktkode (produsentens kode er angitt).

beskrivelse

Beskrivelse av produkttilbudet.

typePrefiks
kategori-ID

Nødvendig element. Element kan bare inneholde ett element .

markedskategori
butikk

Mulighet for å kjøpe en vare i en butikk:

    sant - produktet kan kjøpes i en butikk;

    usant - det er ingen mulighet til å kjøpe fra en butikk.

plukke opp

Henting fra hentepunkter:

    sant - produktet kan hentes selv;

    usant - det er ingen mulighet for selvhenting.

leveranse

Mulighet for budlevering av varer:

    sant - kurerlevering er mulig;

    falsk - varene kan ikke leveres med bud.

gammel pris

Den gamle prisen for produktet, som må være høyere enn den nye prisen (prisen).

salgsnotater

Informasjon om bestilling:

    minimumsordrebeløpet, minimumspartiet med varer, behovet for forhåndsbetaling;

    betalingsmåter, beskrivelser av kampanjer og salg.

Produsentgaranti

Tilgjengelighet av garanti:

    sant - produktet har en offisiell garanti;

    usant - produktet har ingen offisiell garanti.

opprinnelsesland

Opprinnelsesland for produktet.

voksen
alder
nedlastbar

Mulighet for å laste ned produktet:

    sant - produktet kan lastes ned;

    usann - produktet kan ikke lastes ned.

Hoteller: Google Ads Hotels & Rentals-feed

Mate "Hotell og utleieboliger" Google Ads CSV må brukes for virksomhetstypen hoteller. Den første linjen inneholder kolonnenavnene, og de neste linjene inneholder selve dataene. Innholdet i kolonnene er atskilt fra hverandre med komma. Dataene i feeden må være i UTF-8-koding.

Element Beskrivelse

Hotell-ID.

Nødvendig element.

Navnet på hotellet.

Nødvendig element.

Nettadresse til tilbudssiden.

Nødvendig element.

Destinasjonsnavn

Nødvendig element.

Et must for smarte bannere.

Pris
Element Beskrivelse

Hotell-ID.

Nødvendig element.

Navnet på hotellet.

Nødvendig element.

Nettadresse til tilbudssiden.

Nødvendig element.

Destinasjonsnavn

Hotellets beliggenhet (maksimalt 25 tegn).

Nødvendig element.

Et must for smarte bannere.

Pris

Tilbudsprisen. Nummer og valutakode (RUB, USD, UAH, KZT). Bruk et punktum (.) som desimalskilletegn.

Antall stjerner. Et heltall fra 1 til 5.

Brukervurdering, antall. Bruk et punktum (.) som desimalskilletegn.

Maksimal mulig poengsum, heltall. Standard er 5.

Hotelltjenester. Skriv inn verdier atskilt med semikolon: bar; basseng; gratis Wi-Fi

Merk. Verdier som inneholder komma må omsluttes av anførselstegn (\ "\"). For eksempel \ "Moskva, sentrum \".

Biler: feed Avto.ru

Auto.ru-feeden i XML-format skal brukes for virksomhetstypen "Biler". Dataene i feeden må være i UTF-8-koding.

Listen over tilbud for salg av eiendom til annonsøren er inneholdt i elementet ... Hvert produkttilbud (leilighet) er beskrevet av et eget element .

I en feed kan du overføre informasjon om forskjellige boligkomplekser til forskjellige utviklere. For å gjøre dette, spesifiser i hver juridisk informasjon om utvikleren i elementet .

Merk følgende.

Vi aksepterer ikke leiefeeder.

Eksempel: \ n salg\ n bolig\ n leilighet\ nhttp://www.developer.ru/search18\ n 2015-04-02T19: 00: 06 + 03: 00\ n \ n St. Petersburg\ n O. Vasilievsky\ n

18. linje V.O., 32
\ n \ n Vasileostrovskaya\ n 10\ n 5\ n\ n\ n \ n 4780000\ n RUR\ n\ n \ n CJSC \ "Utvikler \"\ n\ n 13\ n 15\ n \ n 63.00\ n sq. m\ n\ n Nordlig fantasi\ n http://www.developer.ru/images/plans/000001289.jpg\ n

Elementattributter

Varer inkludert i

Tabellen nedenfor beskriver feedelementene som brukes til å lage smarte bannere eller dynamiske annonser.

Element Beskrivelse
type

Avtaletype.

Verdien er kun et salg.

Nødvendig element.

plassering

\ n \ n

\ n \ n ... \ n

Nødvendig element.

lokalitetsnavn

Navnet på bebyggelsen.

Nødvendig element.

sub-lokalitet-navn
adresse
metro

Nærmeste t-banestasjon.

\ n \ n \ n \ n

Navn
tid på transport
tid til fots
url

Nødvendig element.

bilde

Et must for smarte bannere.

bygningsnavn

Nødvendig element.

selger

\ n \ n

Nødvendig element.

organisasjon

Nødvendig element.

pris

\ n \ n \ n

verdi
valuta

Valutakode (RUB, USD, UAH, KZT).

område

Totalt areal.

\ n \ n \ n

verdi
enhet

Enhet av rommets areal.

gulv
Element Beskrivelse
type

Avtaletype.

Verdien er kun et salg.

Nødvendig element.

plassering

Et sett med elementer som beskriver plasseringen til et objekt. De nestede kodene detaljert informasjon om objektets adresse.

\ n \ n

\ n \ n ... \ n

Nødvendig element.

lokalitetsnavn

Navnet på bebyggelsen.

Nødvendig element.

sub-lokalitet-navn
adresse
metro

Nærmeste t-banestasjon.

Dersom det er flere stasjoner skal hver spesifiseres i et eget element. Subtags gir detaljert informasjon.

\ n \ n \ n \ n

Navn
tid på transport

Tid til t-banen på minutter med transport.

tid til fots
url

Nødvendig element.

bilde

Et must for smarte bannere.

bygningsnavn

Navnet på boligkomplekset. For dette elementet er leiligheter kombinert til et boligkompleks.

Hvis navnet på boligkomplekset er ukjent, angi gate og husnummer (Lenina, 25)

Nødvendig element.

selger

Informasjon om utbygger. De nestede kodene gir detaljert informasjon:

\ n \ n

Nødvendig element.

organisasjon

Navnet på den juridiske enheten til utvikleren.

Nødvendig element.

pris

Et sett med elementer som beskriver verdien av et objekt. De nestede kodene indikerer prisen og valutaen som kostnaden er angitt i:

\ n \ n \ n

verdi
valuta

Valutakode (RUB, USD, UAH, KZT).

Obligatorisk hvis det er et verdielement.

område

Totalt areal.

Verdien og måleenheten for området sendes i nestede tagger:

\ n \ n \ n

verdi
enhet

Enhet av rommets areal.

Elementet brukes dersom prisen er angitt per arealenhet.

Mulige verdier: kvm. m / kvm. m.

gulv

Flyreiser: Google Ads «Flyreiser»-feed

Google Ads-CSV-feeden for Flyreiser må brukes for Flyreiser-virksomheten. Den første linjen inneholder kolonnenavnene, og de neste linjene inneholder selve dataene. Innholdet i kolonnene er atskilt fra hverandre med komma. Dataene i feeden må være i UTF-8-koding.

Eksempel: Elementer inkludert i CSV

Tabellen nedenfor beskriver feedelementene som brukes til å lage smarte bannere eller dynamiske annonser.

Element Beskrivelse

Nødvendig element.

Destinasjonsnavn

Destinasjonsnavn.

Nødvendig element.

e-handel

Opprinnelsesnavn.

Nettadresse til tilbudssiden.

Nødvendig element.

Et must for smarte bannere.

Flypris

Tilbudsprisen. Nummer og valutakode (RUB, USD, UAH, KZT). Bruk et punktum (.) som desimalskilletegn.

Element Beskrivelse

Destinasjonsidentifikator.

Nødvendig element.

Destinasjonsnavn

Destinasjonsnavn.

Nødvendig element.

Opprinnelsesidentifikator.

Hvis du angir Origin ID i feeden og har aktivert e-handel i Yandex.Metrica, bruk Origin ID og Destination ID som en identifikator i Ecommerce-objektet, atskilt med en bindestrek. For eksempel \ "id \": \ "VKO-LHR \".

Opprinnelsesnavn.

Nettadresse til tilbudssiden.

Nødvendig element.

Et must for smarte bannere.

Flypris

Tilbudsprisen. Nummer og valutakode (RUB, USD, UAH, KZT). Bruk et punktum (.) som desimalskilletegn.

Annen virksomhet: universalfôr

En generisk CSV-feed kan brukes i typen Annen virksomhet. Den første linjen inneholder kolonnenavnene, og de neste linjene inneholder selve dataene. Innholdet i kolonnene er atskilt fra hverandre med komma. Dataene i feeden må være i UTF-8-koding.

Elementer inkludert i CSV

Element Beskrivelse

Tilbuds-ID.

Nødvendig element.

e-handel

Nettadresse til tilbudssiden.

Nødvendig element.

Et must for smarte bannere.

Tittel Navnet på tilbudet.
Beskrivelse

Beskrivelse av tilbudet.

ID for valutatilbud.

Nødvendig element.

Den andre identifikatoren for tilbudet.

Hvis du spesifiserer ID2 i feeden og har aktivert e-handel i Yandex.Metrica, bruk ID og ID2 atskilt med en bindestrek som tilbudsidentifikator i Ecommerce-objektet. For eksempel \ "id \": \ "VKO-LHR \".

Nettadresse til tilbudssiden.

Nødvendig element.

Et must for smarte bannere.

Tittel Navnet på tilbudet.
Beskrivelse

Beskrivelse av tilbudet.

Tilbudspris uten valuta. Bruk et punktum (.) som desimalskilletegn.

Valuta

Valutakode (RUB, USD, UAH, KZT).

Obligatorisk hvis det er et priselement.

Den gamle tilbudsprisen, som må være høyere enn den nye prisen (Pris).

Beskrivelse

Tilbuds-ID.

Nødvendig element.

Den andre identifikatoren for tilbudet.

Hvis du spesifiserer ID2 i feeden og har aktivert e-handel i Yandex.Metrica, bruk ID og ID2 atskilt med en bindestrek som tilbudsidentifikator i Ecommerce-objektet. For eksempel \ "id \": \ "VKO-LHR \".

Nettadresse til tilbudssiden.

Nødvendig element.

Et must for smarte bannere.

Varetittel

Navnet på tilbudet.

Varebeskrivelse

Beskrivelse av tilbudet.

I Yandex.Metrica bruker du ID og ID2 atskilt med en bindestrek som tilbudsidentifikator i e-handelsobjektet. For eksempel \ "id \": \ "VKO-LHR \".

Nettadresse til tilbudssiden.

Nødvendig element.

Et must for smarte bannere.

Varetittel

Navnet på tilbudet.

Varebeskrivelse

Beskrivelse av tilbudet.

Tilbudspris med valutakode i ISO 4217-koding (RUB, USD, UAH, KZT). Bruk et punktum (.) som desimalskilletegn.

Den nye tilbudsprisen, som må være lavere enn den gamle prisen (Pris).

Annen virksomhet: Google Ads reisefeed

Google Ads Travel CSV-feeden kan brukes i typen Annen virksomhet. Den første linjen inneholder kolonnenavnene, og de neste linjene inneholder selve dataene. Innholdet i kolonnene er atskilt fra hverandre med komma. Dataene i feeden må være i UTF-8-koding.

Elementer inkludert i CSV

Tabellen nedenfor beskriver feedelementene som brukes til å lage smarte bannere.

Element Beskrivelse

Destinasjonsidentifikator.

Nødvendig element.

Destinasjonsnavn

Destinasjonsnavn.

Opprinnelsesidentifikator.

Hvis du skriver inn Origin ID i feeden og har koblet til e-handel

Opprinnelsesnavn.

Nettadresse til tilbudssiden.

Nødvendig element.

Et must for smarte bannere.

Navnet på tilbudet.

Destinasjonsidentifikator.

Nødvendig element.

Destinasjonsnavn

Destinasjonsnavn.

Opprinnelsesidentifikator.

Hvis du angir Origin ID i feeden og har aktivert e-handel i Yandex.Metrica, bruk Origin ID og Destination ID atskilt med en bindestrek som identifikator for forslaget i Ecommerce-objektet. For eksempel \ "id \": \ "MOS-AMS \".

Opprinnelsesnavn.

Nettadresse til tilbudssiden.

Nødvendig element.

Et must for smarte bannere.

Navnet på tilbudet.

Tilbudspris med valutakode i ISO 4217-koding (RUB, USD, UAH, KZT). Bruk et punktum (.) som desimalskilletegn.

Den nye tilbudsprisen, som må være lavere enn den gamle prisen (Pris).

Legger til en feed

For å legge til en feed, klikk på Feeder-koblingen på siden med en liste over kampanjer. På siden Fôrhåndtering klikk på + Legg til feed-knappen og velg virksomhetstype.

  • Link til fil
  • Last opp fil

Velg filen du vil laste ned. Størrelsen på den opplastede filen må ikke overstige 512 MB. Ved oppdatering lastes filen ned av roboten, og de nye dataene importeres til Direct.

Du kan plassere feeden din i et arkiv opprettet ved hjelp av ZIP-komprimeringsalgoritmen (.zip-utvidelsen) eller GNU ZIP (.gz-utvidelsen).

Hvis det oppstod en feil under å legge til en feed (for eksempel størrelsen, feedformatet eller lenken til den oppfyller ikke kravene), vil du se statusen "Lastingsfeil" og en lenke til feilrapporten.

Filvalidering

Når du leser en fil, kontrolleres følgende forhold:

  • alle nødvendige elementer er tilstede;
  • alle elementnavn er korrekte;
  • hvert element er tilstede maksimalt én gang.

Hvis noen av disse betingelsene ikke er oppfylt, blir filen avvist.

  • Ingen beskrivelse funnet for elementet "yml_catalog". Rotelementet kan være feil spesifisert.
  • Feilen skyldes tilsynelatende det faktum at XML ikke er generert i det hele tatt, eller at du fortalte Yandex en feil lenke til YML. For å finne årsakene til feilen, åpne lenken til YML-en din i en nettleser.

  • Fatal feil: Feil ved analyse av XML-feed: Ukjent tag: XML-tag "b" (streng ...
  • I prosessen med å generere YML, var det en slags feil. PHP sendte en feilmelding, og den gjør det i "b"-taggen. Åpne YML-kildekoden, du kan enkelt finne PHP-feiltekst etter linjenummer. Hvis du ikke vet hva det betyr, søk på Google. Jeg er sikker på at du vil finne anbefalinger om hvordan du kan fikse denne feilen.

  • Det nødvendige bildeelementet mangler
  • I henhold til Yandex.Market-reglene må et produkt i eksporten ha et bilde, minst ett. Produkter uten bilder eksporteres ikke. Sjekk at det er et tall større enn null i feltet "Antall produktbilder" i modulinnstillingene. Og sjekk at produktene i butikken har bilder.

  • XML-spesifikasjonsfeil. Ta med prislisten i samsvar med de tekniske kravene til det valgte formatet ...
  • Feilen er forårsaket av tilstedeværelsen av fremmede tagger i YML-eksporten. Dette skjer hvis du eksporterer noe i nøkkelord-taggen. Yandex trenger ikke denne taggen. I modulinnstillingene, spesifiser "Ta nøkkelord-taggen fra feltet" = "Ikke tøm"

  • Ingen obligatoriske tilbuds parameter
  • Feilen sier at en nødvendig parameter for produkttilbud ikke ble funnet i YML. For klær, fottøy og tilbehør må fargen og størrelsen på produktet være tilstede i YML. Ved linjen der feilen oppsto, kan du finne ut hvilket produkt som ikke har spesifisert farge og/eller størrelse. For dette produktet i OpenCart må du spesifisere et attributt eller et alternativ som skal eksporteres av modulen i YML. Merk av for dette attributtet eller alternativet med en avmerkingsboks i modulinnstillingene.

Feil vist i nettleseren

  • Når du åpner YML i en nettleser, feil 500 eller 502 "Bad Gateway", eller bare en hvit skjerm.
  • Skriptet som genererer YML ble fullført med en feil. Nettstedets innstillinger er slik at ingen feil vises. Du må aktivere visning av feil. Å inkludere feil i butikkinnstillingene i OpenCart-adminpanelet vil mest sannsynlig ikke være nok. Visning av feil må være aktivert i .htaccess- og php.ini-filene. Men selv dette er kanskje ikke nok. Nettstedsverten kan konfigureres på en slik måte at disse filene kanskje ikke påvirker feilutgangen. Den beste måten er å kontakte hosting teknisk støtte.

  • XML-analysefeil: rotelementet ble ikke funnet
  • Skriptet som genererer YML ble fullført med en feil. Samtidig var ikke YML fullstendig dannet - det er ingen avsluttende tagger. Ta en titt på YML-kildekoden. Hvis det er en feilmelding på slutten, se etter feilteksten i Yandex eller Google. Hvis det ikke er noen feilmelding, se forrige punkt.

  • Feil "Maksimal utførelsestid på 30 sekunder overskredet"
  • PHP-skriptet får 30 sekunder til å kjøre som standard. Hvis skriptet ikke genererte YML på 30 sekunder, ble skriptet tvangsavbrutt. Selvfølgelig ble ikke YML dannet på samme tid, eller det var ikke fullstendig dannet.
    Faktum er at eksport av hele råvarebasen er en ganske ressurskrevende operasjon. Skalering av bilder for Yandex tar mye tid, fordi Yandex godtar bilder på minst 600x600 piksler i størrelse. Heldigvis lagrer OpenCart skalerte bilder i bildebufferen. Ved re-eksport vil bilder raskt bli tatt fra cachen. Inntil bildebufferen er fullstendig dannet, kan YML-eksportskriptet ta lang tid. Prøv å kjøre skriptet flere ganger, cachen vil bli dannet, skriptet vil fungere raskere og falle innenfor tidsgrensen.
    Hvis dette ikke hjelper, er YML-genereringstiden fortsatt lang (på grunn av det faktum at du har mange produkter), så kan du prøve å øke parameteren max_execution_time i PHP php.ini-filen.
    Hvis dette ikke er nok (hostingen din er ganske svak for en nettbutikk med en slik produktbase), kan du prøve å generere en YML-eksport ved å kjøre skriptet gjennom php-cli.

    Spørsmål om YML-innhold

    • Ikke alle varer er inkludert i eksporten.
    • Det kan være flere grunner til at ikke alle produkter er til stede i YML-eksporten. Den vanlige årsaken er modulinnstillingene og innholdet i produktbasen.

  1. Produsenten er ikke spesifisert for produktene, men produsentene velges i innstillingsfanen i modulen "Hva skal eksporteres".
  2. Produkter har ikke hovedkategorier, men det er en avkrysningsboks "Produkter har hovedkategorier" i fanen "Generelt".
  3. Produktet er i svartelisten eller ikke i hvitelisten, som er spesifisert på fanen "Eksporter hva" i modulinnstillingene.
  4. Feltene "Last kun av hvis varene er dyrere", "Ikke losses hvis varene er dyrere" eller avkrysningsboksen "Ikke losse varer uten bilder" i fanen "Hva skal eksporteres" utelukker varene fra å bli eksportert.
  5. Varene er utsolgt, og statusen «Utsolgt» er slik at varene ikke eksporteres. For å eksportere det ferdige produktet, i fanen "Lager og levering" i modulinnstillingene, ikke velg noen status i feltet "Status Ikke på lager".
  • Ikke alle kategorier er til stede i eksporten.
  • I OpenCart kan et enkelt produkt vises i flere kategorier, men i YML-format kan et produkt bare tilhøre én kategori. Eksportmodulen binder produktet til den første tilgjengelige kategorien. Derfor kan det vise seg at det i noen kategorier ikke er varer, og disse kategoriene vil ikke være til stede i eksporten, selv om varene vil være til stede, men i andre kategorier.
    ocStore har hovedkategorier, og du kan kun koble produkter til hovedkategoriene. For å gjøre dette, kryss av i boksen "Produkter har hovedkategorier" i modulinnstillingene. I dette tilfellet vil du motta en mer detaljert klassifisering av varer i YML-eksporten, men varer som ikke er satt til hovedkategori, vil ikke bli eksportert i det hele tatt.

    Hvordan gjøre for å...?

    • Hvordan ikke eksportere et produkt som har null mengde?
    • I modulinnstillingene, i fanen "Lager og levering" ser du etter statusfeltet "Ikke på lager". I dette feltet merker du av for Alle produktstatuser. For å merke flere elementer i listen, hold nede Ctrl-tasten mens du klikker med musen.

    Utvikling i språk: PHP, JavaScript, node.js. Database: MySQL, PostgreSQL, MongoDB.
    Foredling av CMS: OpenCart, PrestaShop, Wordpress. Integrasjon med: betalingssystemer, VKontakte, Facebook, Yandex.

    Et trekk ved fleksible dokumenter er den inkonsekvente sammensetningen av felt i forskjellige bilder. Derfor, når du oppretter et element, bør det tas i betraktning at objektet (e) beskrevet av dette elementet kan være fraværende i et bilde, derfor vil det ikke være mulig å finne det. Det er også mulig å skade bildet under skanning, for eksempel sverting eller omvendt lysere enkelte områder av bildet, noe som fører til tap av informasjon. I dette tilfellet vil objektet som tilsvarer elementet heller ikke bli funnet. FlexiLayout Studio lar deg søke etter andre elementer hvis det ikke er noe element på bildet. For å tillate overlagring av en beskrivelse på et bilde hvis et objekt ikke blir funnet, må du gjøre det valgfritt.

    Bildeobjekter beskrevet med obligatorisk elementer må være tilstede i bildet, og programmet må finne dem ved overlegging av en fleksibel beskrivelse. Hvis et slikt objekt ikke finnes i bildet, avsluttes beskrivelsesoverleggsprosessen.

    Nødvendige elementer SKAL brukes for å finne objekter som identifiserer skjemaet. Tilstedeværelsen av et slikt identifikasjonselement vil forhindre at den fleksible beskrivelsen pålegges et skjema som ikke tilhører denne skjematypen. Du kan også bruke et nødvendig element for å beskrive bildeobjekter, hvis fravær på skjemaet gjør det meningsløst å pålegge en fleksibel beskrivelse og ytterligere datagjenkjenning.

    I alle andre tilfeller bør bildeobjekter beskrives med valgfrie elementer.

    Objekter for å beskrive som brukes valgfri elementer kan mangle fra bildet, eller programmet oppdager dem kanskje ikke når fleksible beskrivelser overlegges. Men i dette tilfellet kan den fleksible beskrivelsen legges over bildet, og objektene til bildet beskrevet av andre elementer vil bli funnet.

    Som standard er alle enkle beskrivende elementer valgfrie, dvs. det antas at de kanskje ikke finnes på bildet.

    Kommentar. I motsetning til enkle elementer, er alle gruppeelementer obligatoriske som standard.

    Tilstedeværelsen av et bestemt element kan bety at den konstruerte kjeden av hypoteser er feil. Disse elementene kalles ugyldige elementer... Når dette elementet er funnet, stopper genereringen av hypoteser om tregrenen det ble funnet i. Disse elementene kan for eksempel brukes for å forhindre falsk pålegging av beskrivelsen på dokumentet.

    Dermed kan elementer brukes til å identifisere et dokument (påkrevd), søke etter blokker (påkrevd og valgfri), og for å forkaste ugyldige hypoteser (ugyldige elementer).

    Valget av alternativet for bruk av elementet utføres i dialogboksen for elementegenskaper (tab Generell).

    Bildene av nødvendige og ugyldige varer er uthevet som følger.

    Bilder er uten tvil en av de vanskeligste aspektene ved responsiv webdesign. I dag vil vi vurdere som et element Som en løsning på problemet med responsive bilder kan du bruke akkurat nå.

    Først om problemet

    Dagene med pikselperfekt og design med fast bredde hører fortiden til. Nå i tiden med widescreen-skjermer, internett-TV, nettbrett og smarttelefoner i forskjellige størrelser, må designene våre passe til enhver enhet i bredder fra 320px til potensielle 7680px.

    Sammen med de mange skjermoppløsningene kommer behovet for å komprimere eller strekke bilder for å møte ulike krav. Dette kan være et problem pga med unntak av vektorgrafikk, har de aller fleste bilder en grunnbredde i px som ikke kan endres.

    Så hva bør vi gjøre?

    Gjeldende felles løsning

    Vanligvis vil du finne denne koden på alle responsive nettsteder:

    Img (maks-bredde: 100 %; høyde: auto;)

    Dette bruker maks-bredde: 100 %; for å sikre at bildet aldri går utover bredden på den overordnede beholderen. Hvis den overordnede beholderen krymper til en bredde som er mindre enn bredden på bildet, krymper sistnevnte sammen med beholderen. Innstillingshøyde: auto; nødvendig for å opprettholde proporsjoner.

    Ett "flytende" bilde for alle tilfeller

    Problemet er løst på bare én måte, slik at vi kan vise det samme bildet for alle tilfeller. Men dette gir oss ikke mulighet til å etablere diverse bilder for ulike situasjoner.

    Ny løsning:

    Dette er et nytt element som er en del av HTML5.

    Den implementerer en måte å beskrive responsive bilder på på samme måte som det er gjort i

    Dette vil laste forskjellige bilder avhengig av:

    • Resultatene av medieuttrykk, for eksempel høyden, bredden eller retningen til visningsporten
    • Pikseltetthet

    Dette betyr igjen at du kan:

    • Last ned bildefiler av passende størrelse, effektivt ved å bruke båndbredden.
    • Last forskjellig orienterte bilder i forskjellige proporsjoner for å imøtekomme endringer i layout ved forskjellige bredder.
    • Last inn høyoppløselige bilder for skjermer med høy pikseltetthet.
    Bruke forskjellige bilder avhengig av forholdene

    Hvordan virker det ?

    Grunnleggende steg når du arbeider med

    1. Lag åpnings- og avslutningstagger .
    2. Inne skape et element for hvert uttrykk du vil behandle.
    3. Legg til et medieattributt som inneholder uttrykk for ting som høyde og bredde, retning osv.
    4. Legg til et srcset-attributt med riktig filnavn for bildet som skal lastes.
    5. Legg til flere filnavn til srcset-attributtet hvis du trenger å støtte forskjellige pikseltettheter, for eksempel for Retina-skjermer.
    6. Legg til et reserveelement .

    Her er et enkelt eksempel, der et mindre bilde lastes inn for saken når bredden på det synlige området er mindre enn 768px:

    Du vil legge merke til at syntaksen som brukes i medieattributtet er den samme som når den brukes i CSS-mediespørringer. Du kan bruke de samme sjekkene, dvs. sjekk maks-bredde, min-bredde, maks-høyde, min-høyde, orientering, etc.

    Disse sjekkene kan brukes til for eksempel å laste inn en liggende eller stående versjon av et bilde avhengig av enhetens orientering, og du kan også sjekke dimensjonene i disse uttrykkene samtidig. For eksempel:

    Denne koden laster ned en nedskalert liggende versjon av et bilde for enheter med små skjermer i riktig retning. Og en større versjon av det samme bildet for enheter med stor skjerm.

    Hvis enheten har en stående orientering, lastes den stående versjonen av bildet, forminskes for enheter med liten skjerm og forstørres for enheter med stor skjerm.

    Hvis du ønsker å gjengi bilder med en annen oppløsning for visninger med høy pikseltetthet, kan du gjøre det ved å angi flere filnavn i srcset-attributtet. La oss ta en titt på vår første kodebit for å legge til prosessering for Retina 2x-skjermer, for eksempel:

    Fordi medieforespørselen behandles først, du kan kontrollere størrelsen på bildet som det skal vises med på skjermen. Deretter vil pikseltettheten bli kontrollert: hvis skjermen støtter en høyere tetthet og i brukerinnstillingene er det en oppløsning for dette, vil de tilsvarende versjonene av bildene lastes inn.

    Bruk I dag

    Innebygd støtte akkurat nå Implementert i Chrome, Firefox og Opera. Det er sannsynlig at vi vil se bred støtte i andre nettlesere i fremtiden. Men vi må fortsatt leve opp til dette øyeblikket.

    I mellomtiden trenger du ikke vente hvis du vil bruke Akkurat nå. Bare bruk Picturefill 2.0; polyfill fra smarte folk i Filament Group.

    Etter å ha lastet ned filen picturefill.js i prosjektet ditt, bare inkludere det i overskriften:

    Det er også en mulighet for å laste skriptet asynkront, som du kan lese om i Picturefill-dokumentasjonen.

    Når du bruker dette skriptet, vil elementet Vil fungere som jeg forklarte, men med noen få begrensninger.

    Begrensninger for bildefylling

    IE9

    Picturefill fungerer fint med forskjellige versjoner av IE, men IE9 støtter ikke elementer som brukes internt ... For å komme rundt dette, pakk inn kildeelementene

    Android 2.3

    Som IE9, vises ikke Android 2.3 elementer inni Imidlertid forstår den srcset-attributtet når det brukes i normal tagger. Sørg for å alltid slå på sikkerhetskopien med standard filnavn i srcset-attributtet for Android 2.3 og andre nettlesere som kan ha samme problem.

    Krever JavaScript og innebygd støtte for Media Query

    Derfor kreves det at JavaScript er aktivert i nettleseren. Picturefill 2.0 gir ikke en "no-js"-løsning, for hvis den gjør det, når nettleseren ruller ut opprinnelig støtte Flere bilder vil allerede bli vist. Du kan imidlertid bruke Picturefill 1.2 hvis "no-js"-parameteren er nødvendig for deg.

    Et annet krav til Picturefill er innebygd støtte for mediesøk for å tillate håndtering av uttrykk i medieattributtet. Alle moderne nettlesere støtter medieuttrykk, bare IE8 og under støtter dem ikke, noe som tilsvarer bare en liten brøkdel av brukerne.

    Ytterligere HTTP-forespørsler er mulig

    Det er mulig at i nettlesere som har innebygd støtte for srcset, men som ennå ikke har støtte for Spesifisert i sikkerhetskopielementet filen kan etterspørres før et passende alternativ bestemmes fra .

    Dette er bare et midlertidig problem, og det vil forsvinne så snart den innebygde støtten rulles ut.

    Tilleggsinformasjon

    • Les mer om Picturefill 2.0 og last det ned for prosjektet ditt fra denne siden.
    • Se fullstendige varedetaljer På responsiveimages.org.

    Prøv å bruke I prosjektet ditt i dag!

    Bilder har lenge vært kjent som det mest tidkrevende aspektet ved responsiv webdesign. I dag skal vi se hvordan bildeelementet kan brukes som en løsning på problemet med responsive bilder akkurat nå.

    For det første selve problemet

    Dagene med webdesign med fast bredde og full layout er for lengst forbi. I den nåværende epoken med widescreen-skjermer, Internett-TV, nettbrett og smarttelefoner i forskjellige størrelser, må designene våre ta hensyn til enhver oppløsning - fra 320 piksler til 7680 piksler.

    Alle disse oppløsningene stiller krav til bilder – de må strekke seg og krympe for å imøtekomme en rekke krav. Dette kan være et problem pga med unntak av vektorgrafikk, har de fleste bilder en fast pikselbredde som ikke endres.

    Så hva gjør du?

    Den nåværende, mest vanlige løsningen

    Vanligvis vil du finne følgende i CSS-en til nesten alle responsive nettsteder:

    img (maks-bredde: 100 %; høyde: auto;)

    img (maks - bredde: 100 %; høyde: auto;)

    Denne koden bruker innstillingen maks-bredde: 100 %; for å sikre at bildet ikke søles ut av den overordnede beholderen. Hvis den overordnede beholderen blir mindre enn bildets bredde, vil bildet krympe med den. Innstillingshøyde: auto; er tilstede slik at sideforholdet til bildet bevares ved reduksjon.

    Ett gummiert bilde for alle enheter

    Dette løser problemet på én måte, slik at vi kan vise det samme bildet under forskjellige omstendigheter. Men det tillater oss ikke å vise forskjellige bilder for forskjellige omstendigheter.

    Ny løsning: bildelapp

    picture er et nytt element som bør være en del av HTML5. Det vil øke hastigheten på prosessen med å plassere responsive bilder på en lignende måte som lyd- og videoelementene fungerer. Det vil tillate flere kildeelementer å spesifiseres, som hver vil peke til forskjellige bildefiler sammen med forholdene de skal lastes under.

    Den lar deg laste opp forskjellige bilder avhengig av:

    Mediespørringsresultater som høyde, bredde, retning

    Pikseltetthet

    Det betyr at du kan:

    Last inn bilder av passende størrelse, og utnytte den tilgjengelige kanalbredden maksimalt.

    Last inn bilder med forskjellige beskjærings- og sideforhold for å matche layoutendringer for skjermer med forskjellige bredder.

    Last inn bilder med høy oppløsning for skjermer med høy pikseltetthet.

    Ulike bilder lastes inn avhengig av omstendighetene

    Hvordan fungerer bildeelementet?

    De grunnleggende trinnene for å jobbe med bildeelementet er:

    Lag åpnings- og avslutningsbildemerker.

    Innenfor disse kodene oppretter du et kildeelement for hver forespørsel du vil gjøre.

    Legg til et medieattributt i søket ditt for ting som høyde, bredde, retning osv.

    Legg til et srcset-attributt med riktig filnavn for bildet som skal lastes.

    Legg til flere filnavn til srcset-attributtet ditt hvis du vil støtte skjermer med høy pikseltetthet som Retina.

    Legg til img-elementet som en reserve.

    Her er et enkelt eksempel som sjekker om visningsporten er mindre enn 768 piksler og laster inn et mindre bilde hvis det samsvarer:

    < picture > < source srcset = "smaller.jpg" media = "(max-width: 768px)" > < source srcset = "default.jpg" > < img srcset = "default.jpg" alt = "Mitt standardbilde" > < / picture >

    Du vil legge merke til at syntaksen som brukes i medieattributtet er nøyaktig den samme som den du er vant til når du skriver CSS-mediespørringer. Du kan bruke de samme sjekkene, noe som betyr at du kan opprette spørringer for maks-bredde, min-bredde, maks-høyde, min-høyde, orientering og så videre.

    Du kan bruke disse kontrollene til å laste liggende eller stående versjoner av et bilde basert på enhetsorientering, og du kan også legge til størrelsesforespørsler. For eksempel:

    < picture > < source srcset = "smaller_landscape.jpg" media = "(maks-bredde: 40 em) og (orientering: liggende)"> < source srcset = "smaller_portrait.jpg" media = "(maks-bredde: 40em) og (retning: portrett)"> < source srcset = "default_landscape.jpg" media = "(min-bredde: 40 em) og (orientering: landskap)"> < source srcset = "default_portrait.jpg" media = "(min-bredde: 40em) og (retning: portrett)"> < img srcset = "default_landscape.jpg" alt = "Mitt standardbilde" > < / picture >

    Koden ovenfor laster inn en nedskalert, beskåret liggende versjon av enhetsbildet i riktig retning. Den laster ned en større versjon av det samme bildet for enheter med stor skjerm.

    Hvis enheten er i stående retning, laster den ned et passende beskåret bilde: mindre for mindre enheter og zoomet inn for enheter med høyere oppløsning.

    Hvis du vil gi forskjellige oppløsningsversjoner av bilder for skjermer med høyere tetthet, kan du gjøre det ved å legge til flere filnavn til srcset-attributtet. La oss for eksempel ta en titt på det første kodeeksemplet ovenfor med tillegg av støtte for Retina 2x skjermoppløsning:

    < picture > < source srcset = "smaller.jpg, smaller_retina.jpg 2x" media = "(maks-bredde: 768px)">< source srcset = > < img srcset = "default.jpg, default_retina.jpg 2x" alt = "(! LANG: Mitt standardbilde" > !}< / picture >

    Medieforespørselen behandles først, slik at du kan kontrollere størrelsen på bildet på skjermen. Deretter kontrolleres pikseltettheten til skjermen, og hvis den høye tettheten støttes og tillates av brukerinnstillingene, vil en versjon med høyere oppløsning av bildet lastes inn.

    Bruker bilde i dag

    Den opprinnelige implementeringen av bilde er for tiden under utvikling for nettleserne Chrome, Firefox og Opera, men i fremtiden vil vi sannsynligvis se bredere støtte også i andre nettlesere. Men per i dag forventes det kun støtte.

    Foreløpig trenger du ikke vente hvis du vil begynne å bruke bilde nå. Du trenger bare å bruke Picturefill 2.0, en polyfill levert av Filament Group-utviklerne.

    Etter at du har lastet ned picturefill.js til prosjektet ditt, kan det brukes ved å laste det inn i hoveddelen av nettstedet ditt:

    Det er også mulig å laste skriptet asynkront for større effektivitet, noe du kan lese om i Picturefill-dokumentasjonen. Sammen med lasting av dette skriptet, vil bildeelementet fungere som jeg beskrev, med noen få begrensninger. ] ->< source srcset = "smaller.jpg" media = "(max-width: 768px)" > < source srcset = "default.jpg" > < ! -- [ if IE 9 ] > < / video > < ! [ endif ] -- > < img srcset = "default.jpg" alt = "Mitt standardbilde" > < / picture >

    Android 2.3

    I likhet med IE9 ser ikke Android 2.3 kildeelementer i bildekoder. Den gjenkjenner imidlertid srcset-attributtet når den tildeles til en vanlig img-tag. Pass på at du inkluderer et reserve-img-element med et standard filnavn i srcset-attributtet for Android 2.3 eller en annen nettleser med lignende problem.

    JavaScript og innebygd støtte for mediespørringer kreves

    Siden denne løsningen er implementert i JavaScript, trenger den derfor JavaScript for å fungere korrekt i nettleseren. Picturefill 2.0 gir ikke en "no-js"-løsning, fordi ellers ville det dukket opp mange bilder på sidene når native support ble implementert. Du kan imidlertid bruke Picturefill 1.2 hvis "no-js"-funksjonen er viktig for deg.

    Picturefills neste krav er innebygd støtte for mediespørringer for at forespørsler i medieattributtet skal fungere. Alle moderne nettlesere støtter mediespørringer, mens IE8 og under er den eneste nettleseren som ikke støtter med en liten gjenværende brukerbase.

    Ytterligere HTTP-forespørsler er mulig

    For nettlesere som har innebygd støtte for srcset, men som ikke støtter bilde, kan det hende at det spesifiserte filnavnet i reserve-img-elementet kan bli forespurt før et mer passende bilde spesifiseres i img-elementet. Dette problemet er midlertidig og vil bli løst når innfødt støtte for bilde er implementert.