Fôrhåndtering. Et par flere måter å lage responsive bilder på

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

  • Fatal feil: XML-analysefeil: Feil ved analyse av XML-feed: Ukjent tag: XML-tag "b" (streng...
  • Det oppstod en feil under YML-genereringsprosessen. PHP sendte en feilmelding, og den gjør dette i "b"-taggen. Åpne YML-kildekoden, etter linjenummer kan du enkelt finne teksten PHP-feil. Hvis du ikke vet hva det betyr, søk på Google. Jeg er sikker på at du vil finne anbefalinger for å eliminere denne feilen.

  • Et nødvendig bildeelement mangler
  • I henhold til Yandex.Market-regler må et eksportert produkt ha minst ett bilde. Produkter uten bilder eksporteres ikke. Sjekk at det i modulinnstillingene i «Antall produktbilder»-feltet er et tall større enn null. Og sjekk at produktene i butikkdatabasen har bilder.

  • XML-spesifikasjonsfeil. Ta med din prisliste i tråd med tekniske krav valgt format...
  • Feilen er forårsaket av tilstedeværelsen av fremmede tagger i YML-eksporten. Dette skjer hvis du eksporterer noe til nøkkelord-taggen. Yandex trenger ikke denne taggen. Spesifiser i modulinnstillingene "Ta nøkkelord-tag fra feltet" = "Ikke last ut"

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

Feil som vises i nettleseren
  • Når du åpner YML i nettleseren, er feilen 500 eller 502 "Bad Gateway", eller bare en hvit skjerm.
  • Skriptet som genererer YML fullført med en feil. Nettstedets innstillinger er slik at feil ikke vises. Du må aktivere feilvisning. Å aktivere feil i butikkinnstillingene i OpenCart-admin vil mest sannsynlig ikke være nok. Feilvisning må være aktivert i filene .htaccess og php.ini. Men dette er kanskje ikke nok. Nettstedsverten kan være konfigurert på en slik måte at disse filene kanskje ikke påvirker feilutgangen. Det beste du kan gjøre er å ta kontakt teknisk støtte vertskap.

  • Feil parsing XML: rotelement ikke funnet
  • Skriptet som genererer YML fullført med en feil. I dette tilfellet ble 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 avsnitt.

  • Feil "Maksimal utførelsestid på 30 sekunder overskredet"
  • Som standard får PHP-skriptet 30 sekunder til å kjøre. Hvis skriptet ikke genererte YML innen 30 sekunder, ble skriptet tvangsavbrutt. Selvfølgelig ble ikke YML dannet, eller ble ikke fullstendig dannet.
    Faktum er at eksport av hele råvarebasen er en ganske ressurskrevende operasjon. Skalering av bilder for Yandex tar spesielt lang tid, fordi Yandex godtar bilder som ikke er mindre enn 600x600 piksler i størrelse. Heldigvis lagrer OpenCart skalerte bilder i en bildebuffer. Ved eksport igjen vil bildene raskt bli tatt fra hurtigbufferen. Inntil bildebufferen er fullstendig dannet, kan YML-eksportskriptet ta lang tid å fullføre. Prøv å kjøre skriptet flere ganger, en cache vil bli dannet, skriptet vil kjøre raskere og falle innenfor tidsgrensen.
    Hvis dette ikke hjelper, YML generasjonstiden er 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 innstillingsfilen.
    Hvis dette ikke er nok (hostingen din er ganske svak for en nettbutikk med en slik produktbase), så kan du prøve å generere YML-eksport ved å kjøre skriptet via php-cli.

    YML-innholdsspørsmål
    • Ikke alle varer eksporteres.
    • 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 produktdatabasen.

  • Produktene har ikke en produsent spesifisert, men i innstillingsfanen i modulen "Hva skal eksporteres" velges produsenter.
  • Produkter har ikke hovedkategorier, men det er merket av for "Produkter har hovedkategorier" i fanen "Generelt".
  • Produktet er på svartelisten eller ikke på hvitelisten, som er spesifisert på "Hva skal eksporteres"-fanen i modulinnstillingene.
  • Feltene "Last kun av hvis varene er dyrere", "Ikke losser hvis varene er dyrere" eller "Ikke losse varer uten bilder" i fanen "Hva skal eksporteres" ekskluderer varene fra de eksporterte.
  • Produktet er utsolgt, og statusen er "Ikke på lager", slik at produktet ikke eksporteres. For å eksportere en utsolgt vare, i kategorien "Lager og levering" i modulinnstillingene, ikke velg noen status i feltet "Status ikke på lager".
  • Ikke alle kategorier er inkludert i eksporten.
  • I OpenCart kan ett produkt vises i flere kategorier, men i YML-format kan et produkt kun tilhøre én kategori. Eksportmodulen tilordner produktet til den første tilgjengelige kategorien. Derfor kan det vise seg at det ikke er varer i noen kategorier, og disse kategoriene vil ikke være tilstede i eksport, selv om varer vil være tilstede, om enn i andre kategorier.
    ocStore har hovedkategorier, og du kan kun koble produkter til hovedkategorier. For å gjøre dette, i modulinnstillingene, merk av i boksen "Produkter har hovedkategorier." I dette tilfellet vil du motta en mer detaljert klassifisering av varer i YML eksport, men varer som hovedkategorien ikke er spesifisert for vil ikke bli eksportert i det hele tatt.

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

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

    For å lage et smart banner må du legge til en feed - en fil med informasjon om produkter 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 er lastet inn når du oppretter dynamiske annonser.

    Typer virksomheter og feeds

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

    Fôrtype Bedriftstype Hvorfor
    Yandex.Market-feed (XML) Detaljhandel Salg av elektronikk og tilbehør, husholdningsapparater, industrielt utstyr, klær, møbler, hageprodukter, sportsutstyr, byggevarer, barneprodukter, dekk og hjul, kosmetikk, parfymer m.m.
    Feed "Hoteller og utleieboliger" Google Ads(CSV) Hoteller Hotellreservasjoner
    Auto.ru-feed (XML) Biler Salg av nye og brukte biler
    Yandex.Real Estate-feed (XML) Eiendom Salg av boligeiendom
    Google Ads-feed for flyreiser (CSV) Flyreiser Salg av flybilletter
    Universell feed (CSV) Annen virksomhet Produkter og tjenester som ikke egner seg for andre typer virksomhet
    Yandex.Market-feed (XML)
    Google Ads tilpasset feed (CSV)
    Google Ads reisefeed (CSV) Salg av turer, togbilletter, ferger m.m.

    Produkttilbud som ikke er beskrevet i henhold til deres type vil bli avvist.

    Krav til fôr

    Ethvert XML-dokument kan bare inneholde ett rotelement. YML-formatet bruker elementet som rotelement. Elementets datoattributt må samsvare med datoen og klokkeslettet 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 RUB\n 19\n \n usant\n sant\n usant\n ESET Antivirus NOD32 Platinum Edition\n Eset\n NOD32-ENA-NS(BOX)-2-1\n Antivirus ESET NOD32 Platinum Edition - lisens i 2 år NOD32-ENA-NS(BOX)-2-1\n Betaling: Kontanter, B/N, plastkort, kreditt\n sant\n Russland\n 18\n

    Elementattributter

    Elementer inkludert i

    Varebeskrivelse
    Navn

    Navn på produkttilbudet. Det anbefales å angi navnet og koden til produsenten i tittelen på det forenklede forslaget.

    Nødvendig element.

    url

    Side URL varer.

    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 universelle; den anbefales for å beskrive produkter fra de fleste kategorier.

    Eksempel: \nhttp://www.nadezhnayatekhnika.rf/catalog/element/index.php?from=ya_market&utm_source=ya_market&utm_medium=cpc& \n889.00 \n17000.00 \nRUR \n1111 \nhttp://89.678.45. /photo/19/6.JPG \nfalsk \nfalsk \nsant \nSkriver \nHP \nDeskjet D2663 \nEn serie med skrivere for folk som trenger en pålitelig, brukervennlig fargeskriver for daglig utskrift... \nForskuddsbetaling kreves. \nsant \nJapan \n

    Elementattributter

    Attributtbeskrivelse
    id

    Produkt ID.

    Obligatorisk attributt.

    type

    Obligatorisk attributt.

    tilgjengelig

    Mulighet for å kjøpe varer:

    • sant - produktet er på lager;
    • falsk - produktet er utsolgt.
    Attributtbeskrivelse
    id

    Produkt ID.

    Obligatorisk attributt.

    type

    Tilbudsbeskrivelsestype. Verdien skal være vendor.model .

    Obligatorisk attributt.

    tilgjengelig

    Mulighet for å kjøpe varer:

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

    Elementer inkludert i

    Varebeskrivelse
    url

    Produktside-URL.

    Nødvendig element.

    bilde

    Et must-ha-element for smarte bannere.

    pris

    Prisen som dette produktet kan kjøpes til.

    valuta-ID

    Valutakode (RUB, USD, UAH, KZT).

    Nødvendig element hvis det er et priselement.

    modell

    Nødvendig element.

    Leverandør

    Produsent.

    Nødvendig element.

    leverandørkoden

    Produktkode (produsentkode er angitt).

    beskrivelse

    Beskrivelse av produkttilbudet.

    typePrefiks
    kategori-ID

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

    markedskategori
    butikk

    Mulighet for å kjøpe varer i butikk:

      sant - produktet kan kjøpes i en butikk;

      usant - det er ingen mulighet for å kjøpe i en butikk.

    plukke opp

    Mulighet for selvhenting fra utstedelsespunkter:

      sant - varene kan hentes selv;

      usant - det er ingen mulighet for selvhenting.

    leveranse

    Mulighet for budlevering av varer:

    gammel pris

    Den gamle prisen på et produkt, som må være høyere enn den nye prisen.

    salgsnotater

    Informasjon om bestilling:

      minimumsbeløp ordre, minimumsmengde varer, behovet for forhåndsbetaling;

      betalingsalternativer, beskrivelser av kampanjer og salg.

    Produsentgaranti

    Tilgjengelighet av garanti:

      sant - produktet har 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

    CSV-feeden for Google Ads Hotels & Rentals må brukes for forretningstypen hoteller. Den første linjen inneholder kolonnenavnene, og følgende linjer- selve dataene. Innholdet i kolonnene er atskilt med komma. Data i feeden må være i UTF-8-koding.

    Varebeskrivelse

    Hotell-ID.

    Nødvendig element.

    Navnet på hotellet.

    Nødvendig element.

    Nettadresse til tilbudssiden.

    Nødvendig element.

    Destinasjonsnavn

    Nødvendig element.

    Et must-ha-element for smarte bannere.

    Pris
    Varebeskrivelse

    Hotell-ID.

    Nødvendig element.

    Navnet på hotellet.

    Nødvendig element.

    Nettadresse til tilbudssiden.

    Nødvendig element.

    Destinasjonsnavn

    Hotellplassering (maks. 25 tegn).

    Nødvendig element.

    Et must-ha-element 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. Spesifiser verdiene atskilt med semikolon: bar;pool;gratis Wi-Fi

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

    Biler: feed Auto.ru

    Auto.ru feed inn XML-format må brukes for virksomhetstypen Automotive. Data i feeden må være i UTF-8-koding.

    En liste over annonsørens eiendomstilbud for salg er inneholdt i elementet. Hvert produkttilbud (leilighet) er beskrevet av et eget element.

    I en feed kan du overføre informasjon om forskjellige boligkomplekser fra forskjellige utviklere. For å gjøre dette, angi juridisk informasjon om utvikleren i hvert element.

    Merk følgende.

    Vi aksepterer ikke feeds for utleie av eiendom.

    Eksempel: \n salg\n bolig\n leilighet\n http://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 JSC \"Utvikler\" \n \n 13\n 15\n \n 63,00\n kvm. m\n \n Northern Fantasy\n http://www.developer.ru/images/plans/000001289.jpg\n

    Elementattributter

    Elementer inkludert i

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

    Varebeskrivelse
    type

    Transaksjonstype.

    Meningen er kun salg.

    Nødvendig element.

    plassering

    \n \n \n \n …\n

    Nødvendig element.

    lokalitetsnavn

    Navn på lokaliteten.

    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-ha-element 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 romareal.

    gulv
    Varebeskrivelse
    type

    Transaksjonstype.

    Meningen er kun salg.

    Nødvendig element.

    plassering

    Et sett med elementer som beskriver plasseringen til et objekt. Nestede tagger gir detaljert informasjon om objektets adresse.

    \n \n \n \n …\n

    Nødvendig element.

    lokalitetsnavn

    Navn på lokaliteten.

    Nødvendig element.

    sub-lokalitet-navn
    adresse
    metro

    Nærmeste t-banestasjon.

    Hvis det er flere stasjoner, skal hver angis i et eget element. De nestede kodene indikerer detaljert informasjon.

    \n \n \n \n

    Navn
    tid på transport

    Tid til metro på minutter med transport.

    tid til fots
    url

    Nødvendig element.

    bilde

    Et must-ha-element for smarte bannere.

    bygningsnavn

    Navn på boligkomplekset. Basert på dette elementet kombineres leiligheter til boligkomplekser.

    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

    Navn juridisk enhet utvikler.

    Nødvendig element.

    pris

    Et sett med elementer som beskriver verdien til 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 overføres i nestede tagger:

    \n \n \n

    verdi
    enhet

    Enhet av romareal.

    Elementet brukes dersom prisen er spesifisert per arealenhet.

    Mulige verdier: kvm. m/kvm. m.

    gulv

    Flyreiser: Google Ads Flights-feed

    CSV-feeden for Google Ads-flybilletter må brukes for virksomhetstypen flybilletter. Den første linjen inneholder navnene på kolonnene, og de neste linjene inneholder selve dataene. Innholdet i kolonnene er atskilt med komma. Data 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.

    Varebeskrivelse

    Nødvendig element.

    Destinasjonsnavn

    Destinasjonsnavn.

    Nødvendig element.

    e-handel

    Navn på avgangssted.

    Nettadresse til tilbudssiden.

    Nødvendig element.

    Et must-ha-element for smarte bannere.

    Flypris

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

    Varebeskrivelse

    Destinasjons-ID.

    Nødvendig element.

    Destinasjonsnavn

    Destinasjonsnavn.

    Nødvendig element.

    Origin brukernavn.

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

    Navn på avgangssted.

    Nettadresse til tilbudssiden.

    Nødvendig element.

    Et must-ha-element for smarte bannere.

    Flypris

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

    Annen virksomhet: universalfôr

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

    Elementer inkludert i CSV

    Varebeskrivelse Beskrivelse

    Tilbuds-ID.

    Nødvendig element.

    e-handel

    Nettadresse til tilbudssiden.

    Nødvendig element.

    Et must-ha-element for smarte bannere.

    Tittel Navn på tilbudet.
    Beskrivelse

    Beskrivelse av tilbudet.

    Valutatilbuds-ID.

    Nødvendig element.

    ID for andre tilbud.

    Hvis du angir ID2 i feeden og har koblet til 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-ha-element for smarte bannere.

    Tittel Navn 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).

    Tilbuds-ID.

    Nødvendig element.

    ID for andre tilbud.

    Hvis du angir ID2 i feeden og har koblet til 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-ha-element for smarte bannere.

    Varetittel

    Navn 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-ha-element for smarte bannere.

    Varetittel

    Navn på tilbudet.

    Varebeskrivelse

    Beskrivelse av tilbudet.

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

    Ny pris forslag, som må være lavere gammel pris(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 med komma. Data i feeden må være i UTF-8-koding.

    Elementer inkludert i CSV

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

    Varebeskrivelse

    Destinasjons-ID.

    Nødvendig element.

    Destinasjonsnavn

    Destinasjonsnavn.

    Origin brukernavn.

    Hvis du angir Origin ID i feeden din og har aktivert e-handel

    Navn på avgangssted.

    Nettadresse til tilbudssiden.

    Nødvendig element.

    Et must-ha-element for smarte bannere.

    Navn på tilbudet.

    Destinasjons-ID.

    Nødvendig element.

    Destinasjonsnavn

    Destinasjonsnavn.

    Origin brukernavn.

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

    Navn på avgangssted.

    Nettadresse til tilbudssiden.

    Nødvendig element.

    Et must-ha-element for smarte bannere.

    Navn på tilbudet.

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

    Ny tilbudspris, som må være lavere enn den gamle prisen (Pris).

    Legger til en feed

    For å legge til en feed, følg koblingen Feeder på kampanjelistesiden. På siden Administrer feeder klikker du på +Legg til feed-knappen og velger virksomhetstype.

    • Fillenke
    • Last opp fil

    Velg filen du vil laste opp. Størrelsen på den opplastede filen bør 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 som er opprettet ved hjelp av komprimeringsalgoritmen ZIP (.zip-utvidelse) eller GNU ZIP (.gz-utvidelse).

    Hvis det oppstod en feil ved å legge til en feed (for eksempel at feedstørrelsen, formatet eller koblingen ikke er passende), vil du se statusen "Opplastingsfeil" og en kobling til en feilrapport.

    Filvalidering

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

    • alle nødvendige elementer er til stede;
    • alle elementnavn er korrekte;
    • Hvert element vises maksimalt én gang.

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

    I utviklerbygg Chrome-nettlesere, Firefox og Opera støtter nå det nye bildeelementet, designet for å løse en rekke problemer som oppstår når man utvikler responsive design. La oss se nærmere på det.

    Det nye bildeelementet løser følgende problemer som en utvikler av responsive webapplikasjoner står overfor (jeg vil bruke klassifiseringen foreslått av pepelsbey på en av de siste front-end-konferansene):

  • R netthinnen, dvs. skjermer med en dpi-tetthet på 150 eller høyere, der vanlige bilder virker uskarpe
  • Og respons er oppgaven med å endre størrelsen på bildet i henhold til reglene dine skrevet i designet avhengig av størrelsen på visningsporten.
  • Format, mulighet til å bruke moderne formater som WebP hvis de støttes av nettleseren
  • Til innramming eller kunstneriske formål. Beskjæring av uviktige deler av bildet når det vises på enheter med mindre skjermer.
  • Når vi legger til de første bokstavene, får vi den mnemoniske RAFC-syntaksen. Konvensjonelt ser den utvidede syntaksen til det nye elementet slik ut
    ...
    Bildeelementet gjengir ikke noe innhold, men er bare en referansebeholder for det som er nestet i det. img tag.

    For de fleste oppgaver vil derfor den forkortede notasjonen være tilstrekkelig, uten å bruke bilde i det hele tatt

    La oss se på hvordan problemene ovenfor løses ved å bruke et nytt element. Alle eksempelfiler kan finnes i dette depotet github.com/fetis/picture

    For å teste eksemplene i denne artikkelen på skrivebordet trenger du enten Firefox Nighlty (bildestøtte er aktivert ved å sette dom.image.picture.enable i about:config) eller Chrome Canary, eller Opera-utvikler. På mobil enhet nytt element kan testes i Chrome Beta

    Retina Vi har et 400x300 px bilde som vi også ønsker å vise vakkert ved dobbel og trippel pikseltetthet. For å gjøre dette, klargjør 2 bilder til, størrelser 800x600 og 1200x900, og skriv følgende kode

    2x og 3x er pikseltetthetsbeskrivelser, de forteller nettleseren at disse bildene ble forberedt for denne tettheten, hvis du vil, kan du bruke den. Vær oppmerksom på at de ikke tvinger nettleseren til å bruke disse bildene, men bare spørre den. Den endelige avgjørelsen ligger hos ham avhengig av andre forhold, for eksempel gjeldende forbindelse.

    src-attributtet i i dette tilfellet fungerer som en kilde til bilder for tetthet< 2 и фолбеком на случай, если браузер не поддерживает новый элемент.

    Tilpasningsevne La oss forestille oss en layout der det er et enkelt bruddpunkt på 700 px. Når viewport-størrelsen er mer enn 700 px, viser vi en sidefelt til høyre og størrelsen på bildet vårt skal være 75 % av skjermens bredde. Ellers er sidefeltet plassert på slutten av siden og bildet skal strekkes til hele bredden. Dette implementeres av følgende kode

    400w, 800w, 1200w - dette er breddebeskrivelsene, de forteller nettleseren hvilken bredde et bilde er plassert på en gitt URL, og basert på denne informasjonen bestemmer nettleseren hvilket bilde som passer best i den aktuelle situasjonen. Som i tilfellet med netthinnen er informasjonen av rådgivende natur, og den endelige avgjørelsen om hvilket bilde som skal lastes forblir hos nettleseren.

    Samtidig bruk av tetthets- og breddebeskrivelser er ikke tillatt.

    Størrelsesattributtet viser bildestørrelsene for alle kontrollpunktene i designet vårt. Breakpoints settes i form av et regulært medieuttrykk, nettleseren tar det første, som returnerer True og vurderer ikke kjeden videre. Breddeverdien bruker den nye lengdeenheten vw , som returnerer en verdi som en prosentandel av visningsportens bredde.

    Hvis det ikke er behov for et bilde å bruke kontrollpunkter, så kan oppføringen forkortes til denne størrelsen = "100vw" . Og for mer komplekse design kan du bruke funksjonen CSS calc() for eksempel
    størrelser="(max-width: 30em) 100vw, (maks-width: 50em) 50vw, calc(33vw - 100px)"

    Den vanskeligste egenskapen å oppføre seg etter min mening. Hvis du ikke spesifiserer størrelser, velger nettleseren alltid det meste stort bilde. I kombinasjon med bredde fungerer det ikke, selv om det virker som en logisk kombinasjon og en rekke andre feil. Kanskje dette er trekk ved tidlig implementering.

    Som du ser har vi allerede dekket 80 % av behovene adaptiv layout, og aldri har brukt bilde før, er det på tide at det også kommer inn i bildet.

    Formatbruk ulike formater for bilder skiller seg lite fra metodene som brukes for video- eller lydmerker

    Vi spesifiserer en liste over kilder og mime/type for hver, og nettleseren velger allerede den første den kjenner. Bildet fra src-attributtet brukes som en reserve Beskjæring Når vi viser et bilde på en mindre skjerm, er det noen ganger fornuftig å klippe bort unødvendige detaljer, slik at bare hoveddelen blir igjen. Medieattributtet vil hjelpe oss med å takle denne oppgaven.

    I hvert medieattributt spesifiserer vi et medieuttrykk, der originalbildet vil endres, og i motsetning til tidligere eksempler vil nettleseren Følg etter ham. Legg også merke til hvordan beskjæring er kombinert her med tilpasningsevne for å strekke bildet til full bredde RAFC Og nå alle 4 metodene i en flaske :) Kanskje det er slik innsetting av bilder vil se ut om et par år (eksempel fra Opera-bloggen)

    2 brukes her JPEG-format og WebP. Når skjermbredden er mer enn 1280 px, vises et bilde i full størrelse i halve visningsporten. Med en bredde fra 640 til 1279 vises et beskåret bilde ved 60 % av visningsportens bredde. Når skjermbredden er mindre enn 640 piksler, vises det beskårede bildet med 100 % bredde. Valget for gjeldende skjerm-DPI gjøres basert på bredden på kildefilene.

    Bilder har lenge vært kjent for å være de mest tidkrevende aspektene ved Responsivt webdesign. I dag skal vi se hvordan vi kan bruke bildeelementet som en løsning på problemet med responsive bilder akkurat nå.

    For det første selve problemet

    Dagene med nettsteddesign med fast bredde med full layout-overholdelse er for lengst forbi. For øyeblikket widescreen-skjermer, Internett-tv, nettbrett og smarttelefoner ulike størrelser designen vår må ta hensyn til enhver oppløsning - fra 320 piksler til 7680.

    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 fordi... med unntak av vektorgrafikk, har de fleste bilder fast bredde i piksler, som ikke endres.

    Så, hva gjør vi?

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

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

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

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

    Denne koden bruker maks-bredde-innstillingen: 100 %; for å sikre at bildet ikke strekker seg utover den overordnede beholderen. Hvis den overordnede beholderen blir mindre enn bredden på bildet, vil bildet krympe sammen med det. Innstillingshøyde: auto; er tilstede slik at proporsjonene til bildet opprettholdes når de reduseres.

    Ett gummibilde for alle enheter

    Dette løser problemet i én nøkkel, 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: bildemerke

    picture er et nytt element som bør være en del av HTML5. Det vil fremskynde prosessen med å plassere adaptive bilder betydelig, lik prinsippene for drift av lyd- og videoelementene. Det vil tillate deg å spesifisere flere kildeelementer, som hver vil peke på ulike filer bilder sammen med forholdene de må lastes under.

    Det lar deg laste opp forskjellige bilder avhengig av:

    Mediespørringsresultater, for eksempel høyde, bredde, retning

    Pikseltetthet

    Det betyr at du kan:

    Last opp bilder av passende størrelser, fra maksimal avkastning ved å bruke den tilgjengelige kanalbredden.

    Last opp bilder med forskjellige beskjærings- og sideforhold for å imøtekomme skiftende oppsett for forskjellige skjermbredder.

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

    Diverse bilder lastet avhengig av omstendighetene

    Hvordan fungerer bildeelementet?

    De grunnleggende trinnene for å jobbe med bildeelementet er:

    Lage åpnings- og lukkingsbilder.

    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 det riktige navnet på bildefilen som skal lastes opp.

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

    Legg til et img-element som en reserve.

    Her er et enkelt eksempel som sjekker om visningsporten er mindre enn 768 piksler, og hvis den gjør det, laster den inn et mindre bilde:

    < 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 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 avhengig av enhetens orientering, og du kan også legge til størrelsesspørringer. For eksempel:

    < picture > < source srcset = "smaller_landscape.jpg" media = "(max-width: 40em) and (orientation: landscape)" > < source srcset = "smaller_portrait.jpg" media = "(max-width: 40em) and (orientation: portrait)" > < source srcset = "default_landscape.jpg" media = "(min-width: 40em) and (orientation: landscape)" > < source srcset = "default_portrait.jpg" media = "(min-width: 40em) and (orientation: portrait)" > < img srcset = "default_landscape.jpg" alt = "Mitt standardbilde" > < / picture >

    Koden ovenfor laster den reduserte, beskåret for landskapsorientering versjon av bildet for enheten med riktig orientering. 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 bildet beskåret tilsvarende: in mindre størrelse- For små enheter og et større bilde 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 se 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 = "(max-width: 768px)" > < source srcset = > < img srcset = "default.jpg, default_retina.jpg 2x" alt = "Mitt standardbilde" > < / picture >

    Medieforespørselen behandles først, slik at du kan kontrollere størrelsen på bildet på skjermen. Deretter sjekkes skjermpikseltettheten, og hvis høy tetthet støttes og tillates av brukerinnstillingene, vil en versjon med høyere oppløsning av bildet lastes inn.

    Bruker bilde i dag

    For øyeblikket er en innebygd implementering av bilde under utvikling for nettlesere Chrome, Firefox og Opera. I fremtiden vil vi mest sannsynlig se bredere støtte i andre nettlesere. Men per i dag forventes det kun støtte.

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

    Når du har lastet ned filen picturefill.js til prosjektet ditt, kan den brukes ved å laste den inn i hoveddelen av nettstedet ditt:

    Det er også mulighet for å 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 mindre 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

    Akkurat som IE9, ser ikke Android 2.3 kildeelementer i bildekoder. Den gjenkjenner imidlertid srcset-attributtet når den er tilordnet en vanlig img-tag. Sørg for at du inkluderer et reserve img-element med standard filnavn i srcset-attributtet for Android 2.3 eller en annen nettleser med lignende problem.

    Krever JavaScript og støtte for native media-søk

    Siden denne løsningen er implementert i JavaScript, trenger den derfor JavaScript til riktig drift i nettleseren. Picturefill 2.0 gir ikke løsninger for "no-js" fordi ellers ville mange bilder dukket opp på sidene når innfødt støtte er implementert. Du kan imidlertid bruke Picturefill 1.2 hvis "no-js"-funksjonen er viktig for deg.

    Det neste kravet til Picturefill 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 det, med en liten gjenværende brukerbase.

    Mulig tillegg HTTP-forespørsler

    For nettlesere som har innebygd srcset-støtte, men som ikke støtter bilde, er det mulig at et gitt filnavn i et reserve-img-element kan bli forespurt før et mer passende bilde spesifiseres i img-elementet. Dette problemet er midlertidig og vil bli løst når native bildestøtte er implementert.