Tworzenie stron Wrocław

Stronę internetową można zamówić praktycznie wszędzie. Jednak sporą przewagą jest znalezienie zleceniobiorcy w miejscu zamieszkania. Dzięki bezpośredniemu spotkaniu można dokładnie omówić szczegóły zlecenia, pokazać jak ma wyglądać strona, wytłumaczyć jaka ma się wizję.

Jeżeli jesteś ze stolicy Dolnego Śląska zapraszam do zaglądnięcia na tworzenie stron Wrocław, gdzie można zobaczyć realizacje oraz skontaktować się w celu umówienia spotkania.

Strona jako część innej strony w Wordpress

Jeżeli zajdzie potrzeba wyświetlenia konkretnej strony bezpośrednio w kodzie wordpressa możemy to zrobić w następujący sposób:

1. Tworzymy w pliku functions.php (aby zapobiec nadpisaniu funkcji przez aktualizację najlepiej jeżeli będzie to plik z funkcjami szablonu) następującą funkcję

function cn_include_content($pid) {
$thepageinquestion = get_post($pid);
$content = $thepageinquestion->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
}

2. W miejscu w którym ma pojawić się strona wywołujemy funkcję z odpowiednim ip strony includeowanej
cn_include_content(62);

Przesuwający obrazek w tle

Coraz więcej stron, szczególnie opartych o wordpress posiada motyw przesuwającego się w tle obrazka pod jakimś elementem witryny. Efekt taki jest bardzo prosto osiągalny. Wystarczy dla np. div utworzyć odpowiednią klasę z przykładowym ostylowaniem:

padding-top: 20px;
padding-bottom: 20px;
background-image: url(adres_obrazka);
background-repeat: no-repeat;
background-position: center;
background-attachment: fixed;
background-size: cover;
-webkit-background-size: cover;

Błąd – Nie można utworzyć katalogu uploads/ w Wordpress

Po zmianie katalogu instalacyjnego Wordpressa lub przenosinach na inny serwer często pojawiają się problemy konfiguracyjne. Jednym z nich jest błąd uploadu mediów.
bladupload

Przykładowa treść błędu: Nie można utworzyć katalogu „uploads/2014/03”. Czy WordPress ma uprawnienie do zapisu do katalogu nadrzędnego?

Aby go wyeliminować należy poprawnie skonfigurować parametr “upload_path” z kolumny “option_name” w tabeli “wp_options”. Należy się upewnić, iż w kolumnie “option_value” podana jest aktualna ścieżka bezwzględna do katalogu uploadu.

Problem z Google Maps w ukrytym DIVie

Przy próbie wyświetlenia mapy Google znajdującej się w ukrytym divie (stosując np. zakładki na stronie) często pojawia się problem z prawidłowym ładowaniem mapy.
Mapa wygląda np. tak:
google

Wyeliminować go możemy resizując mapę już po załadowaniu/wyświetleniu ukrytego diva. Zrobimy to wywołując polecenie
google.maps.event.trigger(mapa, 'resize');

Dla przykładu – jeżeli ukrytego diva wyświetlamy funkcją wywoływaną przez onClick, po jej wywołaniu doklejamy powyższy kod.

Jeżeli po resizie mapa wyświetla się w całym zadanym obszarze, ale nie jest wyśrodkowana możemy użyć funkcji
mapa.setCenter(getCen);
gdzie getCen jest aktualnym środkiem mapy
getCen = mapa.getCenter();
Powyższą funkcję można wywołać wewnątrz funkcji initialize(), pamiętając jednak żeby przed ta drugą zadeklarować globalność zmiennej getCen (jeżeli zamierzamy ją użyć w onClick przełączanego taba).

Cały kod dla powyższego przykładu może mieć postać


<script type="\"text/javascript\"">// <![CDATA[
var getCen;
var mapa;
function initialize() {
var myLatlng = new google.maps.LatLng($szerokosc, $dlugosc);
var mapOptions = {
center: myLatlng,
zoom: $zoom
};
mapa = new google.maps.Map(document.getElementById(\"mapa\"),
mapOptions);
getCen = mapa.getCenter();
}
google.maps.event.addDomListener(window, 'load', initialize);
// ]]></script>

Zmianę taba z resizem i centrowaniem mapy wywołujemy wtedy np. tak:
<a onclick="tabShow('lokalizacja');google.maps.event.trigger(mapa, 'resize');mapa.setCenter(getCen);" href="#">lokalizacja</a>

Lightbox nie działa na nowszych IE

Jeżeli masz problem z działaniem lightboxa na nowszych wersjach IE (od 9 w górę) wystarczy zaktualizować bibliotekę Prototype.
Najnowszą można pobrać stąd.

Chińskie znaki w bazie danych zapisywane przez wysiwyga

Chińskie znaki (a także każde inne narodowe, np. japońskie) będą prawidłowo zapisane w bazie danych, a także wyświetlone na stronie jeżeli wszędzie ustawimy kodowanie utf-8.

1. Baza danych
Ustawiamy kodowanie bazy na utf8_general_ci

2. Tabela/tabele w której będą występowały znaki specjalne
Metodę porównywania napisów ustawiamy na utf8_general_ci

3. Pole/pola w których będą występowały znaki specjalne
Tu również musimy ustawić kodowanie na utf8_general_ci

4. Strona wyświetlająca dane oraz strona na której wprowadzany jest tekst do wysiwyga
Kodowanie musi być ustawione w nagłówku strony na UTF-8, a pliki zawierające kod strony zapisane w UTF-8 (ze znacznikiem lub bez)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

5. Pobieranie danych z bazy
Pobierając dane z bazy także ustawiamy kodowanie
SET NAMES 'utf8'

Obsługa CRONa (Crontab)

Na niektórych typach serwerów (nie posiadających odpowiedniego panelu zarządzania, np. DirectAdmin czy cPanel) zachodzi konieczność ręcznej edycji poleceń CRONa.
Jeżeli chcielibyśmy edytować polecenia CRONa musimy zalogować się do serwera przez SSH. Następnie wydajemy polecenie
crontab -e
Inne polecenia:
crontab -l listowanie poleceń CRONa
crontab -r usunięcie wszystkich poleceń CRONa
Po uruchomieniu edycji wpisów, możemy je modyfikować używając następujących przycisków:
i zastąpnienie
a dodanie
x skasowanie
dd skasowanie całej linii
: początek komendy
:w zapisywanie
:q wyjście
:q! wyjście bez zapisywania
:wq wyjście z zapisaniem

Linki PHPBB otwierane w nowym oknie

Otwieranie linków zewnętrznych w tym samym oknie wiąże się najczęściej z przejściem użytkownika na inną stronę (użytkownik pozostaje tylko w przypadku kliknięcia prawym przyciskiem na link i wybrania opcji “otwórz w nowym oknie/karcie”).

Jeżeli chcemy, aby w naszym forum postawionym na PHPBB linki w postach i sygnaturach otwierały się w nowym oknie, musimy zmodyfikować funkcje odpowiedzialne za ich tworzenie. Edytujemy plik includes/functions_content.php. Znajdujemy w nim funkcję make_clickable_callback() i w jej ciele, do znacznika <a> dodajemy parametr target=”_blank”. Zmieniona linijka kodu będzie wyglądała następująco:

$html    = "$whitespace<!-- $tag --><a$class href=\"$url\" target=\"_blank\">$text</a><!-- $tag -->$append";

Następnie edytujemy plik bbcode.html. Znajdziemy do w podkatalogu template, w katalogu z naszym bieżącym stylem (np. styles/prosilver/template). Znajdujemy w nim linijkę zaczynającą się od <!– BEGIN url –>. W linijce tej, w znaczniku <a> dodajemy parametr target=”_blank”. Gotowy kod będzie wyglądał następująco:

<!-- BEGIN url --><a href="{URL}" target="_blank">{DESCRIPTION}</a><!-- END url -->

Parse error: eval()’d code

Czasami, szczególnie po ręcznym updatowaniu forum PHPBB pojawia się następujący błąd:

Parse error: eval()'d code

Oznacza on błąd w składni PHPBB. Błędem takim może być np. niedomknięcie instrukcji warunkowej itp. Co ważne błędu szukamy w plikach templatów.

Przykładowe błędy:

1. Niedomknięcie instrukcji warunkowej (brak <!– ENDIF –> na końcu kodu)
<!-- IF U_FORUM_RULES -->
kod html

2. Używanie w komentarzach słów zastrzeżonych dla składni PHPBB, np. BEGIN, END
<!-- BEGIN MOJ KOD -->
kod html
<!-- END MOJ KOD -->

3. Niedomknięcie instrukcji warunkowej
<!-- IF U_FORUM_RULES

Następny Wpis »