Hirdetés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sh4d0w: Kalózkodás. Kalózkodás?
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- btz: Internet fejlesztés országosan!
- Pajac: száz pí
- GoodSpeed: Ágymatrac keresési kálvária
- Real Racing 3 - Freemium csoda
Ú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
- Xiaomi 15T Pro - a téma nincs lezárva
- Intel Core i7-5xxx "Haswell-E/EP" és i7-6xxx "Broadwell-E/EP" (LGA2011-v3)
- Gaming notebook topik
- TCL LCD és LED TV-k
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- iPhone topik
- Elektromos autók - motorok
- BestBuy topik
- Robotporszívók
- További aktív témák...
- Yamaha R-N402D sztereó erősítő
- HP ProBook 450 G7, 15,6" FHD IPS, I5-10210U, 8GB DDR4, 256GB SSD, W11, Számla, 1 év garancia ( olvas
- Apple MacBook Pro M2 12 C 16 GB/ 1 TB HUN 2023
- HP ProBook 440 G7, 14" FHD IPS, I5-10210U, 8GB DDR4, 256GB SSD, W11, Számla, 1 év garancia ( olvasd
- Lenovo Thinkcentre M710s SFF PC, I5-7500 CPU, 8GB DDR4, 256GB NVMe SSD, Win 11, Számla, 2 év garanci
- Dell Latitude E7440 - i5, 8GB RAM, HDMI, eu bill - számla, 6 hó garancia
- AKCIÓ! Asus ROG STRIX Z490-G Gaming WiFi alaplap garanciával hibátlan működéssel
- Intel Core i5 4440 4mag 4szál processzor garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3425, 94% Akkumulátor
- BESZÁMÍTÁS! MSI B550M R7 5800X3D 32GB DDR4 1TB SSD RTX 4070 12GB ZALMAN M4 A-DATA 750W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)

