WooCommerce új mező hozzáadása – Közösségi adószám

Többször is felmerült már fórumokon, csoportokban, hogy miként tudunk új mezőt hozzáadni a Pénztár oldalhoz ahol megadjuk a vásárláshoz szükséges adatainkat.

Legfőképp a közösségi adószám mezőről szól a dolog, így bemutatnám, hogy miként tudjuk azt hozzáadni az oldalunkhoz.

  1. lépés: Lépj a WP-Adminba, majd a Megjelenés -> Szerkesztő menübe
    wp1
  2.  lépés: Válaszd ki jobb oldalon a functions.php-twp2
  3. lépés: Illeszd be a következő kódot a php végére, de még a php záró tag „?>” elé
     
    /* ***Hozzáadjuk az új mezőt*** */
    add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
     
    // Our hooked in function - $fields is passed via the filter!
    function custom_override_checkout_fields( $fields ) {
         $fields['billing']['woo_kozzossegi']['label'] = 'Közösségi adószám';
         return $fields;
    }
     
    /* ***Módosítjuk a sorrendet*** */
    add_filter('woocommerce_checkout_fields','reorder_woo_fields');
     
    function reorder_woo_fields($fields) {
            //move these around in the order you'd like
            $fields2['billing']['billing_first_name'] = $fields['billing']['billing_first_name'];
            $fields2['billing']['billing_last_name'] = $fields['billing']['billing_last_name'];
            $fields2['billing']['billing_company'] = $fields['billing']['billing_company'];
            $fields2['billing']['woo_kozzossegi'] = $fields['billing']['woo_kozzossegi'];
            $fields2['billing']['billing_address_1'] = $fields['billing']['billing_address_1'];
            $fields2['billing']['billing_address_2'] = $fields['billing']['billing_address_2'];
            $fields2['billing']['billing_city'] = $fields['billing']['billing_city'];
            $fields2['billing']['billing_postcode'] = $fields['billing']['billing_postcode'];
            $fields2['billing']['billing_country'] = $fields['billing']['billing_country'];
            $fields2['billing']['billing_state'] = $fields['billing']['billing_state'];
            $fields2['billing']['billing_email'] = $fields['billing']['billing_email'];
            $fields2['billing']['billing_phone'] = $fields['billing']['billing_phone'];
     
            //just copying these (keeps the standard order)
            $fields2['shipping'] = $fields['shipping'];
            $fields2['account'] = $fields['account'];
            $fields2['order'] = $fields['order'];
     
            return $fields2;
    }
     
    /* ***Elmentjük az új mezőt*** */
    add_action( 'woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' );
     
    function my_custom_checkout_field_update_order_meta( $order_id ) {
        if ( ! empty( $_POST['woo_kozzossegi'] ) ) {
            update_post_meta( $order_id, 'billing_woo_kozzossegi', sanitize_text_field( $_POST['woo_kozzossegi'] ) );
        }
    }
    

Most már megjelenik a Pénztár oldalon az új mező, de még nem jött létre a rendszerbe. Adj le egy próba rendelést az új mező kitöltésével. (Addig ne lépj tovább)

Hozzáadás a Rendelések oldal egy új oszlopába:

Telepítsd a következő plugint: Admin Columns

wp3Telepítés után menj a WooCommerce -> Rendelések oldalra és válaszd az oszlopok szerkesztése opciót.

Alul kattints az Oszlop hozzáadása gombra:

wp4Az alábbi szerint állítsd be a mezőket:

wp5Végül jobb fent mentsd el a beállításokat:

wp6Ekkor a WooCommerce -> Rendelések oldalon már látnod kell az előző rendelésben leadott Közösségi Adószámot.

Ha szeretnéd, hogy a WooCommerce PDF Invoices & Packing Slips bővítménybe is bekerüljön az új mező, akkor töröld le a bővítményt és ezt a verziót telepítsd:

Letöltés

Nyilván nem tudom állandóan frissíteni, de ha jeleztek kommentben, akkor mindenképp fogom.

Microsoft Excel – Fájl letöltés bejelentkezéssel – VBA – Makró

Elég sűrűn előfordul, hogy munkánk során le kell töltenünk egy fájlt és azzal kell tovább dolgoznunk excelben.
Ez legtöbb esetben .xls vagy .csv kiterjesztésű irodai környezetben.
Nagyban megkönnyíti a munkánkat ha nem kell kikeresnünk a letöltési linket, főleg ha naponta vagy hetente dolgozunk ezzel a fájllal ami folyamatosan frissül, mint például egy árlista, hanem már az excelből le tudjuk tölteni.
Van, hogy ezt a fájlt könnyedén letölthetjük, de van rá példa, hogy csak az oldalra való bejelentkezés után tudjuk letölteni. Erre szeretnék most egy megoldást mutatni.

A legtöbb esetben egy HTTP POST kéréssel tudunk bejelentkezni egy weboldalra. A bejelentkezési felület az az oldal ahol bejelentkezünk az oldal. Pl.: http://www.weboldalam.hu/bejelentkezes
A POST DATA viszont már nem ennyire egyszerű, mivel nem jelenik meg a böngésző címsorába és csak egy plugin segítségével tudjuk kiolvasni. Én Firefox-hoz a Live HTTP Headers plugint ajánlom: https://addons.mozilla.org/hu/firefox/addon/live-http-headers/

Használata:
1. Telepítsük a kiegészítőt.
2. Kattintsunk a plugin ikonjára a megnyitáshoz.
3. Navigáljunk a böngészőben a bejelentkezési oldalra.
4. Jelentkezzünk be.
5. Nyissuk meg a plugin által megnyitott ablakot, majd görgessünk a tetejére.

Ilyenkor több oldalt is találhatunk az ablakban melyek láthatóan el vannak választva egymástól.
Keressük ki a saját bejelentkezési oldalunkat. WordPress esetén: http://sajatoldalam.hu/wp-login.php
Sorról sorra haladjunk lefelé és keressük meg a Content-Length: <szám> sort. A következő sorban találjuk a postolt sort, mely tartalmazza a felhasználónevünket, jelszavunkat és további szükséges adatokat.
Ezt másoljuk be a xobj.Send “POST DATA” sorba a POST DATA helyére.

Sub Letoltes()
    Dim strCookie As String, strResponse As String, _
    strUrl As String
    
    FilePath = "C:\Users\Public\Documents\arlista_temp.csv" 'Az útvonal és a fájlnév kiterjesztéssel
    '
      Dim xobj As Object
    '
      Set xobj = CreateObject("WinHTTP.WinHTTPrequest.5.1")
    '
      strUrl = "Bejelentkezési felület linkje"
      xobj.Open "POST", strUrl, False
      xobj.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
      xobj.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
      xobj.Send "POST DATA"
    '
      strCookie = xobj.GetResponseHeader("Set-Cookie")
      strResponse = xobj.ResponseText
      
      '
    ' now try to get confidential contents:
    '
      strUrl = "A letölteni kívánt fájl linkje"
      xobj.Open "GET", strUrl, False
    '
    ' these 2 instructions are determining:
    '
      xobj.SetRequestHeader "Connection", "keep-alive"
      xobj.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    '
      xobj.SetRequestHeader "Cookie", strCookie
      xobj.Send
    '
      'strCookie = xobj.GetResponseHeader("Set-Cookie")
      strResponse = xobj.ResponseText
      
      
          'Save the file
        FileNum = FreeFile
        Open FilePath For Binary Access Write As #FileNum
            Put #FileNum, 1, strResponse
        Close #FileNum
        
        MsgBox "A letöltés sikerült!", vbInformation, "Elkészült"
        
End Sub

Microsoft Excel – Fájl módosítás megnyitás nélkül – VBA – Makró

Az alábbi kis kóddal képesek leszünk módosítani egy kézzel meg nem nyitott CSV fájlt.
(XLS, XLSX fájlokkal is működik)
Ebben a feladatban a konkrét feladat az volt, hogy a C oszlopban cseréljek le minden pontot vesszőre: . -> ,

Magyarázat:

MyPath – A fájl elérési útja
MyFile – A fájl neve és kiterjesztése
Wkb.Worksheets(“sheet_arlista_temp”).Select – Ide a munkafüzet nevét írd be!

Sub CSVFormaz()

    Dim MyPath          As String
    Dim MyFile          As String
    Dim Wkb             As Workbook
    Dim Cnt             As Long
    
    Application.ScreenUpdating = False
    
    MyPath = "C:\Users\Public\Documents\" 'change the path accordingly
    
    If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\"
    
    MyFile = Dir(MyPath & "arlista_temp.csv")
    
    Cnt = 0
    Do While Len(MyFile) > 0
        Cnt = Cnt + 1
        Set Wkb = Workbooks.Open(MyPath & MyFile)

        Wkb.Worksheets("sheet_arlista_temp").Select
        Columns("C:C").Select
        Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        
        Wkb.Close savechanges:=True
        MyFile = Dir
    Loop
    
    If Cnt > 0 Then
        MsgBox "Completed...", vbExclamation
    Else
        MsgBox "No files were found!", vbExclamation
    End If
    
    Application.ScreenUpdating = True
    
End Sub

Kéretlen levelek, hiába való leiratkozás (SPAM)

Napjainkban minden hírlevél listáról le lehet iratkozni, ha más nem akkor levélben kell kérni, hogy vegyenek le a listáról.
Amennyiben ennek az adott cég nem tesz eleget, úgy büntetésre számíthat.

Az NMHH kiadott egy tájékoztatót ezzel kapcsolatban, amely itt olvasható: NMHH

Amennyiben nem tudsz vagy nem is szeretnél a listáról leiratkozni, létrehozhatsz szűrőket a levelező rendszerben.

A hotmail.com és a gmail.com weboldalán tudom megmutatni, de a legtöbb rendszer biztosít efféle lehetőséget, nézz szét a beállításokban.

Hotmail:
1. Jelöld ki a levelet amelynek a feladójával nem szeretnél többet találkozni.
2. Kattints a 3 kis pontra, majd a szabály létrehozása gombra.
3. Hozd létre úgy a szabályt, hogy az email cím mezőben töröld ki a kukacot [@] és a kukac előtt álló részt, hogy csak a domain cím szerepeljen ott, így ha új email címet csinálnak se jutnak el hozzád.

hotmail1 hotmail2

 

Gmail:

1. Jelöld ki a levelet amelynek a feladójával nem szeretnél többet találkozni.
2. Kattints a Továbbiak, majd a szűrő létrehozása gombra.
3. A kereső form feladó részébe (első mező) írd be a domain címet, majd kattints a Szűrő készítése a keresés alapján gombra.
4. A szűrő ablakon, már Te döntöd el, hogy mi legyen a levelek sorsa.

gmail1 gmail2

Google naptár – névnapok hozzáadása

1. Töltsd le a nevnap.ics fájlt.
2. Nyisd meg a Google naptárt – https://www.google.com/calendar
3. Kattints a képernyő bal oldalán található Saját naptárak felirat melletti kis nyílra, majd az új naptár létrehozására.
nevnapok
4. Add meg a naptár nevét (Magyar névnapok), majd kattints a Naptár létrehozása gombra.
5. Kattints a Saját naptárak doboz alatt található Más naptárak felirat melletti nyílra és válaszd a Naptár importálása gombot.
6. Válaszd ki a nevnap.ics fájlt, majd válaszd a Magyar névnapok naptárat és kattints az importálás gombra.

Forrás

Fájl létrehozási, módosítási dátumának módosítása

Ha valakinek van ötlete, hogy-hogy tehetném egyértelműbbe/egyszerűbbé a bejegyzés címét, akkor kommentben várom a javaslatokat.

Szóval ha olyan problémába ütköztünk, hogy egy határidőre elkészített munka/pályázat sajnálatos módon csak a határidő lejárta után készül el, akkor egy kis trükkel módosíthatjuk a létrehozás és a módosítás dátumát.

Ehhez az AttributeMagic nevezetű programra van szükségünk, melyet ingyenesen letölthetünk az http://www.attributemagic.com weboldaláról.

main

Az Pro, azaz a fizetős verzió annyival tud többet, hogy tömegesen is képes a módosításra.

 

(Fájl létrehozásának, módosításának – dátum módosítása)

Android Studio – No JVM Installation found – MEGOLDVA!

Screenshot 2014-12-25 19.31.36

Ha az Android Studio elindítását követően az alábbi ablakkal találkozunk, akkor a következőt kell tennünk:

Vezérlőpult/Rendszer

rendszer

Speciális rendszerbeállítások

Screenshot 2014-12-25 20.12.30

Környezeti változók

Screenshot 2014-12-25 20.12.26

Új…

JAVA_HOME

Adjuk hozzá a változó nevét: JAVA_HOME
Adjuk hozzá a változó értékét: C:\Program Files\Java\jdk1.8.0_25 (Ez a JDK alapértelmezett telepítési helye Windows 8/8.1 x64 esetén. Amennyiben ezt megváltoztattad a JDK telepítésekor, akkor azt a helyet add meg.)

A felugró winamp

Ha winampot használsz, akkor biztosan veled is előfordult már, hogy felugrott amikor kitettél teljes képernyőre egy youtube videót. A megoldás roppant egyszerű: Nyisd meg a winampot, nyomj egy ctrl + p billentyűkombinációt majd kapcsold ki a bekeretezett opciót.

Screenshot 2014-12-24 22.42.55