Hirdetés
- Milyen TV-t vegyek?
- Közvetve bedarálja az AI a Switch 2 tárhelyét
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Vezeték nélküli fülhallgatók
- Apple MacBook
- DUNE médialejátszók topicja
- 5.1, 7.1 és gamer fejhallgatók
- Vezetékes FEJhallgatók
- Gigaberuházással növelné a 2 nm-es termelését a TSMC
- Androidos tablet topic
Új hozzászólás Aktív témák
-
Doink
aktív tag
válasz
spiritex
#19341
üzenetére
Ezzel csak 2 probléma van. Így kétszer is bekerülhet egy idézet, a másik, hogy nem fognak szeretni ha késleltetés nélkül egy while ciklusban pörgeted az oldalt. Az oldalt le tudod tölteni curl-al vagy file_get_contents-el, azt fel tudod parse-olni xpath-al (hogy könnyen tudj benne keresni) de írhatsz rá regexpet is.
-
spiritex
veterán
válasz
spiritex
#19313
üzenetére
Ne fáradjatok vele, megvan a jó kód:
add_filter('woocommerce_loop_add_to_cart_link','change_simple_shop_add_to_cart',10,2);
function change_simple_shop_add_to_cart( $html, $product ){
if( $product->is_type('simple')) {$html = sprintf( '<a rel="nofollow" href="%s" data-product_id="%s" class="button">%s</a>',
esc_url( get_the_permalink() ),
esc_attr( $product->get_id() ),
esc_html( __( 'Bővebben', 'woocommerce' ) )
);
}
return $html;
}Érdekes ez a php, hogy ugyanazt a dolgot ennyire különböző módokon is meg lehet csinálni...
-
spiritex
veterán
válasz
spiritex
#19311
üzenetére
A php-hez nem értve feltúrtam a netet és találtam egy majdnem jó kódrészletet, ami jó funkciókat ad a gomboknak, csak az istenért nem a Bővebben szöveget adja a gomnak, hanem a Read more-t...
Nem tudja valaki hogy honnan veszi ezt a Read more-t és hogy tudnám rávenni hogy Bővebben-t írjon?(Mondjuk érdekes, hogy a gombnak piros színűnek kellene lennie, de az szürke, tehát nem tökéletes a gomb... valószínűleg ezért nem akarja elfogadni a Bővebben feliratot sem... csak okoskodok laikusként.)
/*STEP 1 - REMOVE ADD TO CART BUTTON ON PRODUCT ARCHIVE (SHOP) */
function remove_loop_button(){
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
}
add_action('init','remove_loop_button');/*STEP 2 -ADD NEW BUTTON THAT LINKS TO PRODUCT PAGE FOR EACH PRODUCT */ add_action('woocommerce_after_shop_loop_item','replace_add_to_cart');
function replace_add_to_cart() {
global $product;
$link = $product->get_permalink();
echo do_shortcode('[button link="' . esc_attr($link) . '"]Bővebben[/button]');
} -
supercow
őstag
válasz
spiritex
#19205
üzenetére
Web fejlesztéskor 2 alapvető felhasználóra készülj:
- szimplán egységsugarú hülye, véletlenül se oda klikkel ahova te gondoltad, nem érti, nem tudja, nem akarja
- rosszindulatú, és a fentebb részletezett módszerekkel próbálja térdre kényszeríteni a cuccodat, miért? "csak"
normális emberre ne számíts, átmenet van de csak a fenti 2 keveréke.
Mindig mindent ellenőrizni kell, adatbevitelnél mindent a lehető legjobban korlátozni. Pl. ha megyét kell bekérned, akkor nem szabad hagyni hogy beírják, hanem legördülőből kell kiválasztani, stb.![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Doink
aktív tag
válasz
spiritex
#19197
üzenetére
Mivel kliens oldalon a felhasználó azt csinál amit szeretne, amit érts úgy, hogy úgy módosítja a szervertől kapott kapott html-t és javascriptet ahogy szeretné ezért szerver oldalon mindig kellene ellenőrizni.
3 életszerű példa:
- A postás is átnézni (szerver oldal) hogy helyesen töltötted ki a formanyomtatványt annak ellenére hogy te már otthon (kliens oldalon) átnézted. A módosított html-t meg elképzelheted úgy hogy bár volt egy * a Címzett mező mellett hogy kötelező kitölteni de te leleményes voltál és hibajavítóval eltüntetted amitől még a postás nem fogja elfogadni neked. Ha nem ellenőrzöl szerver oldalon az olyan mintha a postás rá se nézne a papírodra.
- reklámblokkoló pluginek, mondjuk ők képeket és js-ek betöltését szokták eltüntetni de jön a gyanú, hogy akkor egy required attribútumot is ki tudnának törölni ha akarnak.
- Írd be a required-öt ahogy javasolták, töltsd be az oldalt F12 => forrás és ott keresd meg azt a beviteli mezőt és töröld ki a required attribútumot.Akkor mire jó (a kliens oldali validálás)?
- Ha nem szeretnéd hogy állandóan a szerverhez forduljon a böngésző ha hibás adatot ad meg a user akkor nagyon jól jön az hogy a böngésző előtte leellenőrzi azt amit letud és csak akkor küldi el az adatokat a szervernek ha azok stimmelnek (aki ugyan úgy le fogja ellenőrizni).
Postásra lefordítva annyi plusszt hoz hogy nem csak felhányod az adatokat a papírra és addig javítgatod eszetlenül amíg el nem fogadja hanem átnézed/átnézetteted a böngészővel mielőtt odaadnád neki.
- Másik példa ha az adatot soha sem fogod elküldeni a szervernek hanem csak a böngészőben használod.3 életszerű példa kliens oldalra:
- Twitter, 140 betű limit. Teljesen felesleges addig a szervernek bármit is küldeni a Tweet gomb nyomására amíg 0 vagy több mint 140 a tweeted hossza. (spórol a szerver és hálózati erőforrásokkal).
- Bejelentkezés, amíg a felhasználónév vagy a jelszó nincs kitöltve addig felesleges bármit is küldeni a szervernek.
- Localstorage-ben (böngészőben) tárolod hogy a user melyik témát használja és szerver oldalon ezt szimplán azért nem tárolod mert nem érdekel.Összefoglalva:
- A klienstől érkező adatokat szerver oldalon mindig validáljuk.
- Kliens oldalon nem mindig, sokszor csak a szerverrel küldjük vissza a hibákat. -
PumpkinSeed
addikt
válasz
spiritex
#19188
üzenetére
Valoszinuleg ezt PHP-ban nem annyira konnyu megoldani, mint Javascript-ben. Nem ismerem se a Wordpress-t se a plugin-t. De valoszinuleg nem csak annyi lesz, hogy beleirsz ebbe valamit es kesz.
1. opcio: Javascripttel szabalyozod, hogy addig nem kerul elkuldesre a POST request ameddig a kotelezoen kitoltendo field-ek nincsenek kitoltve.
2. opcio: Ami sokkal csunyabb, de PHP. Elkuldi a POST requestet, es a PHP megvizsgalja, hogy a kotelezo field-ek ki vannak-e toltve. Ha nincsenek akkor visszanavigalja a user-t a form oldalra, hibaval, hogy ki kell tolteni amit ki kell.
Új hozzászólás Aktív témák
- sziku69: Fűzzük össze a szavakat :)
- Revolut
- Milyen TV-t vegyek?
- Közvetve bedarálja az AI a Switch 2 tárhelyét
- Autós topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Vezeték nélküli fülhallgatók
- Kezünkben a Huawei Mate 80 és 80 Pro
- Apple MacBook
- További aktív témák...
- ThinkPad T14 Gen4 14" FHD+ IPS i7-1365U 16GB 512GB NVMe gar
- Újszerű Sony A7 III, patona markolat, L-plate, 123k expo
- HP Elitebook 735 G6 13 3 FHD Laptop AMD Ryzen 5 Pro 16 GB RAM 512GB SSD 6 hónap garanciával
- Eladó Dune Pro Vision 4K
- LG 43NANO763QA 108 cm / 43 4K UHD NanoCell Smart TV 6 hó garancia Házhozszállítás
- Intel Core i5-9500 / i5-9500T / i7-8700 / i7-9700 CPU, processzor - Számla, garancia
- HP Pavilion 15-eg2002nh - 15.6" FullHD IPS - i5-1235U - 16GB - Win11 - 512GB SSD - Garancia - MAGYAR
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Asus H370-A i5 9600K 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman T7 Zalman 500W
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)


