Archiwa tagu: wordpress

WP Product Catalogue

Zapowiadam wydanie pluginu do WordPress’a o wdzi?cznej nazwie Product Catalogue. Projekt jest w fazie implementacji.  Pierwsze beta-testy odb?d? si? jeszcze w listopadzie. Planowane Feature’y:

  • Ogl??lne:
    • Multi Lang
    • Pe??en Panel Admina
    • wsparcie Short Tags (wy??wietlanie kategorii/produktu) na dowolnej stronie lub wpisie
  • Kategorie:
    • Drzewiasta lista kategorii
    • Ka??da kategoria ze zdj?ciem i opisem
    • Porz?dek wy??wietlania zarz?dzalny
  • Produkt:
    • Jeden Produkt Wiele zdj?? + ThickBox
    • Opis + opcjonalny plik do downloadu
    • Zarz?dzalny porz?dek wy??wietlania produkt??w

To jest specyfikcja bazowa. Jak b?dzie troszk? wi?cej ni?? teraz (ok 500 linii kodu) postaram si? wrzuci? jakie?? screeny :)

Pozdrawiam.

GoogleMaps + WordPress Szybki Kurs

  1. Wst?p

    Dawno nic o google maps nie pisa??em zatem przedstawie wam kurs jak do statycznej strony np z kontaktem doda? map? googla z kilkoma efektami. Kto?? pewnie zapyta: „po co? Przecie?? jest dokumentacja na googlemaps.com” Ja poka??? krok po kroku co i jak. Nie obra??cie si? je??li ten tutorial b?dzie wygl?da?? jak artyku?? z „Komputer ??wiata”.

  2. Pobieramy GoogleMaps API key

    1. Rozpoczynamy prac? od wej??cia na stron?: http://code.google.com/apis/maps/
    2. Zgadzamy si? z warunkami umowy licencyjnej i podajemy adres naszej strony:
    3. Gdy strona jest ju?? zarejestrowana mamy dost?p do API key’a oraz do przyk??adowego skryptu.
  3. Piszemy Skrypt

    1. Tworzymy dwie rzeczy najpierw katalog js/ w katalogu wp-content/themes/nasztheme/ plik gmaps.js
    2. Kodujemy zdarzenie document.ready by za??adowa? map?.
      window.onload = function() {
      if (GBrowserIsCompatible()) {
      //Inicjalizacja mapy poprzez tworzenie obiektu
      var map = new GMap2(document.getElementById("map"));
      }else{
      alert("sorry but your browser sux hard. update it and come again!");
      }
      });
    3. Ustawiamy ??rodek mapy i zoom
      map.setCenter(new GLatLng(35.083956, 103.710938), 4);
    4. Dodajemy kontrolki do mapy:
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
    5. Dodajemy punkt na mapie
      var lat = 0;
      var lng = 0;
      var point = new GLatLng(lat, lng);
      var marker = new GMarker(point);
      map.addOverlay(marker);
    6. Mo??emy jeszcze doda? dymek z opisem punktu lub adresem
      map.openInfoWindow(point, 'To jest nasz punkt!');
    7. Czyszczenie mapy z wszystkich marker??w i InfoWindow odbywa si? za pomoc? polecenia:
      map.clearOverlays();
  4. Modyfikujemy Template

    Modyfikacja template polega na edycji pliku header.php plus ewentualnie mo??na doda? kilka linii css w style.css
    Najpierw zostawmy wszystkie style i temu podobne
    Musimy w sekcji head dwie linie:

    <head>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=TUTAJ_WSTAWIAMY_API_KEY" type="text/javascript"></script>
     <script src="<?php bloginfo('template_directory'); ?>/js/gmaps.js.php" type="text/javascript">
    </script>
    </head>
    
  5. Umieszczamy Mapk? w kontakcie

    Sprawa prosta. Publikujemy now? stron?. Nazywamy j? kontakt.

    I dodajemy do niej nasz? mapk?:
    <div id="map"></div>
    Mo??na przy okazji j? r??wnie?? ostylowa?.
    <div id="map" style="width: 100%; height: 400px;"></div>

  6. First Run

    Nim odpalimy po raz pierwszy nasz? mapk?. To najpierw pami?tajmy o wrzuceniu na serwer wszystkich plik??w. Nie wiem czy zbyt wiele wymagam ale bior? za pewnik to ??e potraficie obs??ugiwa? jakiegokolwiek klienta FTP.
    Zatem wrzucamy pliki:
    wp-content/themes/nasztheme/js/gmaps.js
    wp-content/themes/nasztheme/header.php

  7. Efekty

    Wszyscy doskonale zdaj? sobie z tego spraw? ??e strona musi by? efektowna. Mo??na te?? u??y? cytatu:

    – Aplikacja?
    – Ma by? droga i robi? biiip

    No to sprawa prosta ??eby zadba? o tzw. „Wow Effect” (nie myli? z Word Of Warcraft) mo??emy zastosowa? ma??? animacj?. Dla du??ego odsetka klient??w ten cytat jest

    Np. Je??eli Firma ma trzy oddzia??y w mie??cie to mo??emy zrobi? takie co??:

    1. Na starcie ??adujemy logo firmy
    2. Pokazujemy siedzib? g????wn?, wy??wietlamy dymek
    3. Pokazujemy pozosta??e siedziby w odst?pach czasowych i wy??wietlamy dymek z adresem i telefonem

    By zaimplementowa? taki skrypt nie potrzebujemy du??o dodatkowej wiedzy z dziedziny javascript’u. Po pierwsze musimy wiedzie? jak u??ywa? funkcji:

    Za animacj? naszej mapy b?dzie odpowiada?:

    Gdzie point to element z tablicy gdzie zdefiniowali??my oddzia??y firmy.

    Po wy??wietleniu trzeba wyczy??ci? map? za pomoc?:

    map.clearOverlays();

  8. Podsumowanie

    W sumie zastanawiam si? czemu pisz? taki tutorial, poniewa?? jest gotowy plugin do wordpress’a kt??ry rozwi?zuje problemy z googlemaps. Konfigurowalny z wp-admin z ??adnego formularza.

    Mo??e tylko po to by nauczy? si? korzysta? z narz?dzi, kt??re u??atwi? nam prac? i naucz? pisa? dobre javascripty. Zach?cam do pr??b z kodowaniem map by Googlemaps. I zapewniam ??e GoogleMaps API nie gryzie :)

WordPress 2.5 upload bug.

WordPress 2.5 Stable ma ju?? prawie miesi?c. Ja po??pieszy??em si? z przesiadk? na now? wersje. Wiadomo nowa wersja mog? si? pojawi? problemy z pluginami (faktycznie chyba tylko z NexGenGallery). W sumie nie uploadowa??em plik??w od czasu przesiadki wi?c o problemie nie wiedzia??em.

Jednak gdy zbli??y?? si? deadline projektu kt??ry w??a??nie stawia??em na wordpressie z highly customized theme(z kt??rego jestem dumny :) ) Zrobi??em update na WP 2.5. I zaj???em si? wprowadzaniem dummy tre??ci. Wszystko by??o ok do momentu kiedy mia??em wrzuci? przyk??adowe zdj?cia. Upload Image najpierw wy??wietla?? mi b???dy Action Scriptu(Poniewa?? w WP2.5 do uploadu obrazk??w u??ywany jest SWFUpload). Na support forum WordPress’a znalaz??em fix. No to pomy??la??em super nie b?dzie si? trzeba dalej m?czy? wstawie fix i po sprawie.

Round 1:

Bug Fix polega?? na wy???czeniu kilku zabezpiecze??(za pomoc? .htaccess) by plik php, kt??ry uploaduje pliki m??g?? dzia??a? swobodnie. Wygl?da?? on tak:

<IfModule mod_security.c>
<Files async-upload.php>
SecFilterEngine Off
SecFilterScanPOST Off
</Files>
</IfModule>

Round 2:

Po wrzuceniu pliku na serwer okaza??o si? ??e niestety nadal WordPress nie chce wsp????pracowa? (Cannt move file from temporarty dir…). Zatem runda druga polega??a na zabawie CHMOD. 777 na ca??y katalog wp-content/uploads i wszystkie wewn?trzne. Nic niestety nie pomog??o.

Round 3:

Doczyta??em w komentarzach wpisu na jakim?? blogu ??e na jego serwerze trzeba by??o opr??cz modrewrite wgra? beta wersje SWFUpload. No to do dzie??a. Pliki zosta??y podmienione. Refresh. Upload Image. Browse. OMFG No!!! Wi?c wydaje wam si? ??e da??em si? pokona? WordPress’owi przez knockout techniczny? Pozbiera??em si? i przyst?pi??em do rundy 4.

Round 4

Po przekopaniu forum WordPressa. Przeszed??em znowu do ofensywy. Pomy??la??em ??e je??li ten b???d by?? ju?? w RC to mo??e rozwi?zanie z RC pomo??e:

<IfModule mod_security.c>
SetEnvIfNoCase Content-Type \
„^multipart/form-data;” „MODSEC_NOPOSTBUFFERING=Do not buffer file uploads”
</IfModule>

<IfModule mod_gzip.c>
mod_gzip_on No
</IfModule>

No i zn??w by??em w b???dzie.

Final Round!

Wyczerpany i rozgoryczony przegranymi 3 rundami i zmarnowanymi 3 godzinami na research o usuwaniu tego buga z WP2.5. Otwar??em klienta FTP, Wys??a??em plik o nazwie: wordpress-2.3.3.tar.gz i zapu??ci??em: tar zxvf wordpress-2.3.3.tar.gz

Werdykt S?dzi??w:

Wstrzymajcie si? z WP2.5, no chyba ??e chcecie sprawdzi? czy na waszym hostingu zadzia??a. W moim wypadku straci??em ok. 3 godzin. Ma fajny niebiesko-szaro-granatowy panel admina i ??miesznie trzyma has??a w bazie, ale to chyba nie pow??d ??eby mie? bloga, bez mo??liwo??ci wrzucania grafiki. Jak chcecie sie pobawi? to zapraszam. I tak DownGrade was nie ominie.

Bibliografia