RSS

zapisz się: RSS Artykuły

szukaj

Wyświetlanie nieopublikowanych artykułów/stron

Komentarze 0

Adres WWWOpiszę niewielki mod, który rozwiązuje następującą kwestię. Załóżmy, że chcemy stworzyć stronę, bądź artykuł, który nie ma się pojawić ani w menu u góry (w przypadku strony), ani w kategoriach (w przypadku artykułu). Jednak strona ta ma być dostępna, tzn. po wpisaniu jej adresu ma się wyświetlić każdemu odwiedzającemu.

Przykład zastosowania jest na stopce tego bloga. Chodzi o odnośnik do Polityki Prywatności, który wstawiłem w pliku index.php. Po kliknięciu w link przechodzimy do normalnej strony. Jednak odnośnik do niej nie jest widoczny w menu u góry. Jest to dobre rozwiązanie, jeśli chcemy mieć jakieś strony/artykuły, które nie mają odnośników w menu, ale jest do nich dostęp i możemy użyć odnośników do nich gdzie tylko chcemy.

Gdy piszemy nowy artykuł/stronę (lub edytujemy) to mamy opcję "Publikuje teraz". Aby skorzystać z tego moda należy odznaczyć tę opcję. Status naszego wpisu jest wtedy "Nieopublikowane" - nie jest on wówczas widoczny ani w kategoriach, ani w menu stron.

Przejdę zatem do wdrożenia tej prostej modyfikacji. Otwieramy snews.php i szukamy następującego kodu:

// Admin content
if (_ADMIN) {
$pub_a = ''; $pub_c = ''; $pub_x = '';
} else {
$pub_a = ' AND a.published = 1';
$pub_c = ' AND c.published ='YES'';
$pub_x = ' AND x.published ='YES'';
}

Zaznaczona linijka odpowiada za to, że tylko opublikowane artykuły czy strony będą dostępne dla wszystkich odwiedzających. Należy zmienić ten fragment.

// Admin content
if (_ADMIN) {
$pub_a = ''; $pub_c = ''; $pub_x = '';
} else {
$pub_a = ' AND a.published IN (0,1)';
//Oryginalna linijka niżej
//$pub_a = ' AND a.published = 1';
$pub_c = ' AND c.published ='YES'';
$pub_x = ' AND x.published ='YES'';
}

Zmieniamy tę linijkę. Oczywiście dobrze jest zakomentować oryginalną linijkę, jeśli chcielibyśmy kiedyś do niej wrócić. Po tej zmianie wszyscy odwiedzający będą mieli dostęp do nieopublikowanej strony. Jednak należy zauważyć, że odnośnik do strony pojawia się w menu stron u góry (gdy jest się niezalogowanym). Aby go usunąć szukamy w snews.php fragmentu:

// DISPLAY PAGES
function pages() {
	global $categorySEF,$_No3;
	$qwr = !_ADMIN ? ' AND visible='YES'' : '';
	$class = empty($categorySEF) ? ' class="current"' : '';

Zaznaczony fragment należy zmienić tak, aby odnośnik w menu górnym pokazywał się tylko wtedy, gdy strona jest opublikowana. Zmieniamy go następująco:

// DISPLAY PAGES
function pages() {
	global $categorySEF,$_No3;
	$qwr = !_ADMIN ? ' AND visible='YES' AND published = 1' : '';
        //Oryginalna linijka poniżej
	//$qwr = !_ADMIN ? ' AND visible='YES'' : '';
	$class = empty($categorySEF) ? ' class="current"' : '';

Po tych niewielkich zmianach możemy linki do nieopublikowanych stron umieszczać gdzie chcemy. A one same nie będą wyświetlane w naszych panelach nawigacyjnych. Autorem tego niewielkiego moda jest Keyrocks.

Podziel się

Bookmark and Share

Komentowanie zostało zablokowane