Fashion callback ?

4 years 2 months ago - 4 years 2 months ago #3890 by marius

Hallo Bram, ik heb in de fashion callback bijgezet:

"0nderkleding"=>"underwear",

Maar wanneer dat in een menu wil laten zien vind hij niets.

Dit komt van bjornborg feed DAMES Onderkleding

Maar ook :
"DAMES Onderkleding"=>"underwear",
werkt niet.
Ik doe wat fout maar wat?
Daar wordt je toch gek van hoe die adverteerders alles maar noemen...

Zie dit blok"

DAMES Onderkleding
DAMES Onderkleding Bras and Tops
DAMES Onderkleding Cheeky
DAMES Onderkleding Hipsters
DAMES Onderkleding Hotpants
DAMES Onderkleding Mini shorts
DAMES Onderkleding String

En zo krijg ik dus Ondergoed en Underwear in 1 menu, wordt je moe van?

En Bjornborg heeft "DAMES Onderkleding Bras and Tops" wat dus underwear is. Hoe zet ik dat in een callback fashion dat underwear is menu genoeg is?

Theoretisch is dit het zelfde als van andere adverteerders, maar andere namen...hoe trek ik dit een beetje recht ?



  • Posts: 107
  • Karma: -1
  • Thank you received: 1

  • Gender: Unknown
  • Birthdate: Unknown
  • Last Edit: 4 years 2 months ago by marius.

    Please Log in to join the conversation.

    4 years 2 months ago #3891 by marius

    Hallo Bram, ik heb onderstaand callback voor brillen, is eigenlijk copy van fashion. Maar dit werkt niet..ik blijf Lenzenvloeistof Accessoires nog steeds zo zien, en niet als lenzenvloeistof. Ik gebruik dus brillen_cb.

    $brillen_rename1=array(
    
    "Lenzenvloeistof Accessoires"=>"lenzenvloeistof",
    
    );
    
    function brillen( &$item)  {
    global $brillen_rename1;
    $m1=strtolower(trim($item['menu_1']));
    # rename by lookup table
    if ( isset($brillen_rename1[$m1] ) ) {
    $n=$brillen_rename1[$m1];
    if ( $n == 'remove' ) {
    $item=array();
    return;
    } else {
    $item['menu_1']=ucfirst($n);
    }
    }
    if ( is_array($item['menu_2'])|| ($item['menu_2']=='Array') ) {
    $item['menu_2']='uni';
    }
    }
    function brillen_cb( &$item)  {
    generic_cb($item);
    brillen($item);
    }



  • Posts: 107
  • Karma: -1
  • Thank you received: 1

  • Gender: Unknown
  • Birthdate: Unknown
  • Please Log in to join the conversation.

    4 years 2 months ago #3892 by bram

    Welkom in de wereld van de datafeed categorisatie..



    Waarschijnlijk is de basis van het probleem van de twee topics die je gepost hebt hetzelfde.

    Er zit een technische valkuil in de datafeeds import.

    Veel categorie├źn hebben een structuur als

    DAMES > Onderkleding > Bras and Tops

    of ook wel

    DAMES / Onderkleding / Bras and Tops


    deze zie je WEL in de ruwe voorbeeld items in de datafeed configuratie maar niet in het uiteindelijke items, de '>' en de '/' worden er op het laatste moment uitgehaald. (ik skip even de achtergrond waarom dit zo is)

    Je kunt dit omvangen door het opschonen van de string alvast te doen

    $m1=strtolower(clean_string($item['menu_1']));#recent 3.x versions


    Bij de meeste feeds is de volgorde van de (sub)categorie├źn redelijk consequent.

    dus in een string als

    CAT1 > CAT2 -> CAT3

    behoort CAT1 altijd tot dezelfde 'soort' in bovenstaand voorbeeld dus het geslacht, CAT2 de rubriek, CAT3 de subrubriek. ( fraaie uitzondering op dit verhaal is bijvoobeeld otto)

    Je kunt hier gebruik van maken
    #Vul voor MENUX, RUBRIEK en SUBRUBRIEK de juiste 'menu_x' in.
    $i=explode(' > ', $item[MENU_X]);#ook te combineren met clean_string/strtolower)
    $item[RUBRIEK]=$i[1];
    $item[SUBRUBRIEK]=$i[2];

    Gegeven je fashion voorbeeld is de $item[RUBRIEK] nu al beperkt tot 1 term ipv de 7 die je had, en dan kun je verder met de opzoek tabel waarbij je de linker kant lowercase schrijft.

    global $renfas;
    $renfas=array(
    'ondermode'=>'Lingerie',
    'onderkleding'=>'Lingerie'
    );
    function fas(&$item) {
            global $renfas;
            #Vul voor MENUX, RUBRIEK en SUBRUBRIEK de juiste 'menu_x' in.
            $i=explode('>', strtolower($item[MENU_X]));
            $item[SUBRUBRIEK]=$i[2];
            $m=clean_string($i[1]); # de clean_string is nu eigenlijk zelden nodig, trim wel
            if ( isset($renfas[$m] ) ) {
                    $item[RUBRIEK]=$renfas[$m];
            }
    }
    
    



  • Posts: 1494
  • Karma: 57
  • Thank you received: 247

  • Gender: Unknown
  • Birthdate: Unknown
  • Please Log in to join the conversation.

    Time to create page: 0.069 seconds
    Powered by Kunena Forum