Skocz do zawartości

webproject

Rejestracja: 10 lis 2013
Poza forum Ostatnio: lis 24 2013 15:41
-----

Moje tematy

Jak stworzyć Precla (Presell Page)

11 listopada 2013 - 15:55

Witaj, dzisiaj porozmawiamy trochę na temat SEO czyli o pozycjonowaniu stron www. Jak wiesz internet to swoista dziura bez dna, miliony stron, portali, wpisów, artykułów i gdzieś tam nasza strona. Jak sprawić żeby ktokolwiek ją kiedykolwiek odnalazł? Tu właśnie wkracza SEO. Ale co to wogóle jest to SEO? W polskim tłumaczeniu jest to optymalizacja strony www pod wyszukiwarki internetowe (Search Engine Optimization) czyli wszelkie działania mające na celu promocję strony www w wyszukiwarkach internetowych żeby w rezultacie znalazła się ona na jak najwyżeszej pozycji w jak nawiększej liczbie wyszukiwarek (google, bing, netsprint itd.).

Jak można zoptymalizować stronę www? Optymalizację można podzielić na dwie warstwy, pierwszą z nich jest odpowiednia modyfikacja treści znajdującej się na naszej stronie (Poprzez odpowiednie umieszczenie słów kluczowych, adekwatne do treści nagłówki, ustawianie tekstów alternatywnych dla obrazków itd.). Mamy też drugą warstwę, opiera się ona na modyfikacji kodu strony (Przystosowanie strony do standardów W3C, poprawa czasu ładowania strony, przyjazne linki itd). Oprócz samej optymalizacji strony www istnieją jeszcze inne techniki jej popularyzowania. W internecie aż roi się od różnego rodzaju katalogów stron w których za darmo bądź za nielwielką opłatą możesz umieścić link do swojej strony. Przez długie lata takie katalogi cieszyły się wielkim powodzeniem jednakże czasy powoli się zmieniają.
 
Po zmianie algorytmu Google, dużą moc w kwestii pozycjonowania nabrały tzw. Precle. Czyli strony pozwalające na dodawanie krótkich wpisów z linkiem/linkami do naszej strony. Dlaczego jest to niby lepsze od katalogów? Ponieważ najbardziej skuteczne linkowanie jest wtedy kiedy na stronie zamieścimy jakiś ciekawy artykuł a ktoś inny odwoła się do niego na swojej stronie i jeszcze poda źródło. Tak właśnie działają Precle. W sieci istnieje cała masa stron typu Precle. Ale nic nie stoi na przeszkodze aby samemu sobie wykonać taką stronę. Prawie wszystko co nam potrzebne jest darmowe, jedynie za co musisz zapłacic to jakiś szybki serwer i domene.
 
Na serwerze instalujemy najzyklejszego WordPressa. Dodatkowo musimy dorzucić do niego kilka niezbędnych wtyczek:
 
Contact Form – formularz kontaktowy.
Upload Media For Contributors – plugin do wgrywania obrazków na serwer.
WordPress SEO by Yoast - wtyczka SEO
WP-PageNavi – bardzo przyjzna numeracja
WP No-Bot Question – bardzo przydatna wtyka, blokuje rejestrację botów. Użytkownik musi podac odpowiedni kod.
WyPiekacz – najważniejsza wtyczka, w niej ustawiamy reguły jakie musi spełniać publikowany artykuł
 
Po instalacji dodatkowo odblokowujemy rejestrację i ustawiamy domyslną rangę usera na Współpracownik.
Teraz możemy ustawić kategorie do których użytkownicy będą wrzucać swoje wpisy.
 
Artykuł jest mojego autorstwa i pochodzi ze strony webproject.sanok.pl

CodeIgniter - Logowanie za pomocą Facebook API

10 listopada 2013 - 13:50

W dobie Social Media bardzo powszechnym stało się używanie jednego konta dla wielu aplikacji www. Podyktowane jest to oczywiście potrzebami użytkowników, przeciętny Kowalski nie chce zakładać miliona kont i później pamiętać milion haseł. Przecietny Kowalski woli założyć jedno konto i później logować się za jego pomocą na milion serwisów. Wygodne? Bardzo. Jednym kliknięciem, bez zbędnęgo i żmudnego procesu rejestracji, klikania w linki aktywacyjne itd. Tylko jak to się robi? Nawet się nie spodziewasz że wszystko sprowadza się do kilku linijek kodu.
 
Co nam będzie potrzebne? W pierwszej kolejności proponuje zaznajomić się z cudeńkiem ze stajni Marka Z.
 
 
Pod tym adresem znajdziesz również Facebook PHP SDK. Pobierz sobie tą paczkę, będziemy z niej korzystać.
Paczka zawiera kilka folderów jednakże nas interesuje tylko folder src. Ok kopiujemy jego zawartość i wklejamy do folderu application/libraries. Kolejną czynnością jaką musimy wykonać jest sprawienie aby Codeigniter rozpoznał plik Facebook.php jako bibliotekę i pozwolił ją załaczyć do projektu. Rzućmy okiem w dokumentację Codeigniter-a
 
 
Jak widzisz, pierwsze co musimy sprawdzić czy zachodzi zgodność z konwencjami nazewnictwa. Nazwa biblioteki musi zaczynać się z dużej litery i posiadać w sobie klasę o takiej samej nazwie jak nazwa pliku. Poprawmy więc nazwę pliku z facebook.php na Facebook.php. Ok i to powinno wystarczyć.
Aby dołączyć naszą bibliotekę możemy użyć autoloadera lub też dołączyć ją ręcznie w kontrolerze. Preferuje ten drugi sposób ponieważ zakładam że będę z niej korzystał tylko w przypadku logowania, więc nie widzę sensu aby była ona ładowana przy każdym requescie.
Ok, stwórzymy sobie teraz kontroler odpowiedzialny za autoryzację usera.
class Fblogin extends CI_Controller {
 
    public function __construct(){
        parent::__construct();
    }
 
}
Jak widzisz, nie ma tu za wiele kodu, ale za chwilę to uzupełnimy, dodajmy sobie naszą bibliotekę.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Fblogin extends CI_Controller {

    public function __construct(){
        parent::__construct();

        $this->load->library('facebook');
    }

}
Ok, jeżeli zachciało Ci sie przeanalizować kod klasy Facebook to pewnie zauważyłeś że tamtejszy konstruktor przyjmuje parametr $config. Dodatkowo na stronie http://developers.fa.../reference/php/ jest pokazana przykładowa implementacja:
require_once("facebook.php");

$config = array();
$config['appId'] = 'YOUR_APP_ID';
$config['secret'] = 'YOUR_APP_SECRET';

$facebook = new Facebook($config);
Ok czyli $config jest tablicą zawierającą dwa parametry, Numer ID naszej aplikacji utowrzonej na facebooku za pomocą ktorej będziemy się łączyć z facebookiem oraz sekretny klucz. Jeżeli masz już taką aplikację to możesz przejść do następnego kroku, jeżeli nie to teraz jest odpowiedni moment na klepnięcie sobie takiej apki. Odpalaj facebooka i klikaj w Utwórz aplikację (znajdziesz to w menu rozwijanym z prawej górnej strony). Ok znajdujemy się teraz w strefie dla developerów, klikamy w pozycję Apps (górne menu) i następnie w Create New App. Podajemy nazwę naszej aplikacji, w tym miejscu Twoja kreatywność zostanie poddana próbie :) . Klikamy Kontynuuj i zostajemy przeniesieni do panelu zarządzania naszą aplikacją.
Jest tu kilka istotnych elementów do ustawienia jednakże interesuje nas najbardziej sekcja górna zawierająca numer ID aplikacji oraz klucz sekretny. Minimalizujemy przeglądarkę i wracamy do naszego projektu.
Nie wiem jak ty ale ja jestem zwolennikiem porządku w kodzie i wole trzymać wszelkie ustawienia w tablicy $config w osobnym pliku konfiguracyjnym i odwoływać się do poszczególnych indexów w kodzie.
Ok, swtórzmy sobie taki plik konfiguracyjny,
<?php

$config['fb_appId'] = 'nasz App ID';
$config['fb_secret'] = 'nasz App Secret';
Oczywiście w miejsca “nasz App ID” i “nasz App Secret” wklejamy wartości skopiowane z panelu edycyjnego naszej aplikacji. Ok, zapisujemy plik w foderze application/config jako np main_config.php.
Wracamy do naszego kontrolera, musimy sobie teraz dołączyć ten pliczek.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Fblogin extends CI_Controller {

    public function __construct(){
        parent::__construct();
        parse_str($_SERVER['QUERY_STRING'], $_REQUEST);
        $this->config->load('main_config');

        $this->load->library('facebook');
    }

Kolejnym krokiem jest utworzenie tablicy zawierającej appID i secret i wysłanie jej do konstruktora klasy Facebook, czyli do naszej biblioteki.

$this->config->load('main_config');
$config_array = array('appId' => $this->config->item('fb_appId'), 'secret' => $this->config->item('fb_secret'));
$this->load->library('facebook', $config_array);
Ok, wróćmy jeszcze na chwilkę do panelu edycji aplikcaji, aby nasz szystem logowania działał poprawnie musimy ustawić tu jeszcze dwie wartości, App domains, site URL oraz zablokujmy “tryb piaskownicy”. Pamiętaj że wartość w App domains czyli nazwa naszej domeny powinna zawierać tylko i wyłącznie adres właściwy naszej domeny bez http. https, www itd. W moim przypadku będzie to po prostu webproject.sanok.pl. Site URL z kolei zawiera już pełny adres www: http://www.webproject.sanok.pl
Ok wracamy do naszego kontrolera. Utwórzmy sobie za tem publiczną składową która będzie przechowywać dane usera który aktualnie sie zalogował i ustawmy jej wartość początkową NULL
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Fblogin extends CI_Controller {

    public $user = NULL;

    public function __construct(){
        parent::__construct();

        parse_str($_SERVER['QUERY_STRING'], $_REQUEST);
        $this->config->load('main_config');
        $config_array = array('appId' => $this->config->item('fb_appId'), 'secret' => $this->config->item('fb_secret'));
        $this->load->library('facebook', $config_array);
    }

}

Ok, przypiszmy teraz dane użytkownika do tej zmiennej

$this->user = $this->facebook->getUser();

Utwórzmy teraz metode index która będzie sprawdzać stan użytkownika.

public function index()
    {
        if($this->user){
            try{
                $user_profile = $this->facebook->api('/me');
                print_r($user_profile);
            }
            catch(facebookApiException $e){
                $this->user = null;
                print_r($e);
            }
        }
    }
Jak widzisz, nie jest to jakaś zbyt rozbudowana metoda, sprawdza stan usera i wyświetla odpowiednie informacje, albo tablicę zawierające dane usera albo wywala wyjątek.
Dopiszmy sobie teraz kolejną instrukcję warunkową która będzie pozwalała na Logowanie i wylogowywanie się usera.
if($this->user){
            $logout = $this->facebook->getLogoutUrl(array('next'=>base_url('fblogin/logout')));
            echo "<a href = '$logout'>Wyloguj</a>";
        }
        else{
            $login = $this->facebook->getLoginUrl();
            echo "<a href = '$login'>Zaloguj</a>";
        }

Jak widzisz aby umożliwić userowi poprawne wylogowanie się z naszego portalu musimy dopisać kolejną metodę logout w kontrolerze fblogin.

public function logout(){
        session_destroy();
        redirect(base_url());
    }
Ok, nasz system autoryzacji opartej na facebook Api gotowy, nie jest to zbyt trudne. Przykład tutaj podany jest bardzo prosty, możesz oczywiście go zmodyfikowac wg własnej woli. Masz do tego całe API
 
Artykuł ten jest mojego autorstwa i pochodzi ze strony http://webproject.sanok.pl
Pozdrawiam serdecznie