Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

WP All export + excel error

Pagina: 1
Acties:

Onderwerpen

Vraag


  • NECAnGeL
  • Registratie: januari 2004
  • Laatst online: 06-05 14:14
Hallo Allemaal,

Ik ben met de support bezig van WP All export alleen de communicatie gaat wat stroefjes en heb wat haast. Ik krijg namelijk een foutmelding als ik een excel hyperlink via php toevoeg. Ik heb me ingelezen op https://www.wpallimport.c...s/custom-code/inline-php/ maar kom er echt niet uit.

Reactie van WP All export:
I didn't see that values were exported with a 0, but I do see where errors are coming up: https://d.pr/i/SfBFjE - however, this seems to be due to issues with how the functions are constructing the links.


Ik heb als functie:

code:
1
[zichtbaarheid_check("niet_ingelogd",{Titel},{_alg_wc_pvbur_visible},{_alg_wc_pvbur_invisible})]


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
remove_filter('pmxe_csv_value', 'pmxe_pmxe_csv_value', 10);
add_filter('pmxe_csv_value', 'example_adjust_csv_value_sanitization', 11, 1);

function example_adjust_csv_value_sanitization ($value) {
        
    return str_replace(array('\''), '', $value);

}

//check of deze mag worden weergegeven / of een nda nodig heeft
function zichtbaarheid_check($lijst, $waarde_veld, $_alg_wc_pvbur_visible, $_alg_wc_pvbur_invisible ) { 
    
    //niet ingelogde lijst
    if ($lijst == 'niet_ingelogd') 
        { 
            //kijken of de gast rol verplicht is
            if (strpos($_alg_wc_pvbur_invisible, 'guest') !== false) { $verbergen = 'verbergen'; }
            
            //geen nda lijst
            if (strpos($_alg_wc_pvbur_visible, 'met_rbweb_nda') !== false) { $verbergen = 'verbergen_nda';}
        }
    
    //ingelogde lijst
    if ($lijst == 'ingelogd') 
        {   
            //geen nda producten weergeven
            if (strpos($_alg_wc_pvbur_visible, 'met_rbweb_nda') !== false) { $verbergen = 'verbergen_nda'; }
        }
    
    if ($verbergen == 'verbergen') { 
    $waarde_veld = '=HYPERLINK("https://seomarketingdeals.com/linklijsten/";"Weergeven open de linklijst (Ingelogd)")'; 
    
    }
    
    if ($verbergen == 'verbergen_nda') { 
    $waarde_veld = '=HYPERLINK("https://seomarketingdeals.com/linklijsten/";"Weergeven open de linklijst (Met NDA)")'; 
    }
    
    return $waarde_veld;    
}


Wat ook een probleem was dat ik een preg_replace moest doen om de ' weg te halen die hun plugn aanmaakt voor een =. Dit is gedaan in de functie example_adjust_csv_value_sanitization

http://www.ietsdoenofferte.nl

Alle reacties


  • NECAnGeL
  • Registratie: januari 2004
  • Laatst online: 06-05 14:14
Mr. HTTP schreef op zondag 31 januari 2021 @ 17:35:
PHP:
1
2
3
4
5
6
7
8
if ($verbergen == 'verbergen') { 
    $waarde_veld = '=HYPERLINK("https://seomarketingdeals.com/linklijsten/";"Weergeven open de linklijst (Ingelogd)")'; 
    
}
    
if ($verbergen == 'verbergen_nda') { 
    $waarde_veld = '=HYPERLINK("https://seomarketingdeals.com/linklijsten/";"Weergeven open de linklijst (Met NDA)")'; 
}

Hoort $waarde_veld een literal string te zijn?

Of eerder dit;
PHP:
1
2
3
4
5
6
if ($verbergen == 'verbergen') { 
$waarde_veld = '=' . HYPERLINK("https://seomarketingdeals.com/linklijsten/", "Weergeven open de linklijst (Ingelogd)"); 
}
if ($verbergen == 'verbergen_nda') { 
$waarde_veld = '=' . HYPERLINK("https://seomarketingdeals.com/linklijsten/", "Weergeven open de linklijst (Met NDA)"); 
}


Verder wel eens gehoord van switch-statements? ;)
Toevoeging; Weet je zeker dat waarde_veld altijd wordt gedefineerd? Want dat loopt qua flow niet helemaal lekker in je code. Als debug test adviseer ik je $waarde_veld een default waarde te geven...

PHP:
1
2
3
4
5
6
7
8
function zichtbaarheid_check($lijst, $waarde_veld, $_alg_wc_pvbur_visible, $_alg_wc_pvbur_invisible ) { 
 // $waarde_veld = 'http://www.example.com/';
 $waarde_veld = '=HYPERLINK("http://www.example.com/")'; 


//...  code die $waarde_veld aanpast op basis van gebruikers rol

}


PS; had ik jou al niet eerder getipt in een ander topic om je flow te verbeteren en default waardes te gebruiken...?
Ik moet zeker aan me flow werken, ben ik met je eens maar ben er te weinig mee bezig en moet soms wat doen en als het werkt dan werkt het denk ik dan. Maar ga toch nadenken om de flow te verbteren. Bedankt voor je input.

http://www.ietsdoenofferte.nl


  • NECAnGeL
  • Registratie: januari 2004
  • Laatst online: 06-05 14:14
Als ik het zo met de , plak dan gaat dat niet lukken in excel. Hij pakt dan alleen met de ;

code:
1
=HYPERLINK("https://seomarketingdeals.com/linklijsten/","Weergeven open de linklijst (Ingelogd)")

http://www.ietsdoenofferte.nl


  • NECAnGeL
  • Registratie: januari 2004
  • Laatst online: 06-05 14:14
Mr. HTTP schreef op zondag 31 januari 2021 @ 23:07:
[...]


Waarom gaat dat niet lukken? Krijg je een foutmelding?
Daarbij kan het nog steeds aan de haakjes liggen natuurlijk (en de punt-comma).

Je moet eerst het haakjes probleem uitsluiten:

1) comma, geen haakjes
code:
1
=HYPERLINK("https://seomarketingdeals.com/linklijsten/a","Linklijst Ingelogd")
code:
1
=HYPERLINK("https://seomarketingdeals.com/linklijsten/b","Linklijst met NDA")

2) semicolon, geen haakjes
code:
1
=HYPERLINK("https://seomarketingdeals.com/linklijsten/a";"Linklijst Ingelogd")
code:
1
=HYPERLINK("https://seomarketingdeals.com/linklijsten/b";"Linklijst met NDA")

3) nu weet je comma of semicolon
4) test met haakjes
5) test haakjes met rawurlencode voor percent-encoding

Update:
Daarnaast is het handig als je ergens een debug output kan dumpen voor jezelf om te zien of je wel de juiste waardes rondpompt in je code. Wij weten niets van je flow en met functies als zichtbaarheid_check die de waarde voor een column teruggeeft en verder vrij weinig met zichtbaarheid te maken heeft is het allemaal wat verwarrend (uiteindelijk ook voor jezelf). Heel die check van de gebruikersrol (ingelogd? nda?) hoort daar niet thuis. (Kan zijn dat daar de oorsprong van het probleem zit, want welke code roept zichtbaarheid_check aan?)
Excel zelf geef een foutmelding als je met de , gaat werken. Een formule fout. Dit kan je misschien zelf testen is je dit in excel zet?

http://www.ietsdoenofferte.nl


  • NECAnGeL
  • Registratie: januari 2004
  • Laatst online: 06-05 14:14
Ben jij in te huren of mag dat niet via hier?

http://www.ietsdoenofferte.nl


  • NECAnGeL
  • Registratie: januari 2004
  • Laatst online: 06-05 14:14
Dit zie je liever?


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//check of deze mag worden weergegeven / of een nda nodig heeft
function zichtbaarheid_check($lijst, $waarde_veld, $_alg_wc_pvbur_visible, $_alg_wc_pvbur_invisible ) { 
    
    //niet ingelogde lijst
    if ($lijst == 'niet_ingelogd') 
        { 
            //kijken of de gast rol verplicht is
            if (strpos($_alg_wc_pvbur_invisible, 'guest') !== false) { $verbergen = 'verbergen'; }
            
            //geen nda lijst
            if (strpos($_alg_wc_pvbur_visible, 'met_rbweb_nda') !== false) { $verbergen = 'verbergen_nda';}
        }
    
    //ingelogde lijst
    if ($lijst == 'ingelogd') 
        {   
            //geen nda producten weergeven
            if (strpos($_alg_wc_pvbur_visible, 'met_rbweb_nda') !== false) { $verbergen = 'verbergen_nda'; }
        }
    
    if ($verbergen == 'verbergen') { 
    //$waarde_veld = '=HYPERLINK("https://seomarketingdeals.com/linklijsten/";"Weergeven open de linklijst (Ingelogd)")'; 
    
    $waarde_veld = 'Weergeven open de linklijst (Ingelogd)';
    }
    
    if ($verbergen == 'verbergen_nda') { 
    //$waarde_veld = '=HYPERLINK("https://seomarketingdeals.com/linklijsten/";"Weergeven open de linklijst (Met NDA)")'; 
    $waarde_veld = 'Weergeven open de linklijst (Met NDA)';
    }
                
    return $waarde_veld;    
}

[Voor 95% gewijzigd door NECAnGeL op 01-02-2021 19:08. Reden: zag iets fout zitten.]

http://www.ietsdoenofferte.nl


  • NECAnGeL
  • Registratie: januari 2004
  • Laatst online: 06-05 14:14
Mr. HTTP schreef op dinsdag 2 februari 2021 @ 12:24:
[...]

Kort antwoord: Nee
Alle logica omtrent gebruikers (ingelogd, nda) zal ik in een Class zetten die je vervolgens hergebruikt door je code heen om maar iets te noemen. Anyway, het heeft weinig zin om dit hier te bespreken, wij zitten volgens mij mijlenver uit elkaar qua code-ervaring dus dan praten we toch langs elkaar heen.

In een andere post en hierboven weer heb ik jou een vrij uitgebreid voorbeeld gegeven over code-optimalisatie, dat blijf ik niet doen.... :Z


[...]

Ik heb geen Excel, zit op Linux. Daarnaast ben ik niet zo fanatiek om elk issue op dit forum zo diep te doorlopen voor random mensen. ;)
geen probleem en ik zoek verder :)

http://www.ietsdoenofferte.nl

Pagina: 1


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True