- Most a Galaxy S25 FE megjelenésére tippelnek
- Realme GT 2 - aláírjuk
- Szakít a OnePlus és a Hasselblad?
- Samsung Galaxy Buds3 Pro - szárat eresztettek a babok
- Google Pixel topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Honor 200 Pro - mobilportré
- Motorola Edge 40 - jó bőr
- Samsung Galaxy S25 - végre van kicsi!
Hirdetés
Ú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. -
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
- Real Racing 3 - Freemium csoda
- BestBuy topik
- Milyen belső merevlemezt vegyek?
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Formula-1
- Most a Galaxy S25 FE megjelenésére tippelnek
- Építő/felújító topik
- Egyéni arckép 2. lépés: ARCKÉPSZERKESZTŐ
- További aktív témák...
- P14s Gen5 14" FHD+ IPS Ryzen 7 PRO 8840HS Radeon 780M 16GB 512GB NVMe ujjlolv IR kam gar
- P15 Gen2i 15.6" FHD IPS i7-11850H RTX A3000 32GB 1TB NVMe ujjlolv IR kam gar
- GIGABYTE G27F 2 165Hz IPS gaming monitor /2026.12.12-ig Garis/
- Lenovo ThinkPad Yoga 2in1 Touch Laptop! AMD Ryzen 7 PRO 7730U / 16GB 3200MHz / 256GB NVMe
- HIBÁTLAN iPhone 14 Pro Max 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3147
- Konzol felvásárlás!! Xbox Series S, Xbox Serries X
- PS Plus előfizetések
- HIBÁTLAN iPhone 12 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3035, 100% Akkumulátor
- Bomba ár! HP ProBook 650 G4 - i5-8GEN I 8GB I 256GB SSD I 15,6" FHD I Cam I W11 I Garancia!
- Samsung Galaxy A13 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest