[CSS] Menu w sidebarze podmienia obok zawartość
Marcin Wieczorek
7/12/2015 | 6:39 PM

Witam, korzystam z szablonu twenty twelve, schemat http://s10.ifotos.pl/img/schematpn_wawehqh.png Strona główna ma być inna niż podstrony. W tym celu stworzyłem przy pomocy 'Template Name' nową stronę i podpiąłem ją. Na początku zamieściłem slider, poniżej ma być panel boczny (z lewej strony) z menu. Po kliknięciu ma się wyświetlić po prawej stronie post http://pastebin.com/BDE

Krzysztof Branecki
7/13/2015 | 12:07 PM

Na początku chyba nie zrozumiałem dokładnie o co Panu chodziło. Ja bym zrobił osobiście to tak: Wywołałbym w sidebarze jedną pętlę gdzie wyrzuciłbym linki w postaci np #ID-postu a następnie w drugiej pętli wyrzuciłbym treść nadając każdej po za piewszą w stylach css visibility: hidden; (wrzucić to w jakimś divie z id=ID-postu) a następnie za pomocą javascript (jQuery) pokazywał odpowiedni post

Marcin Wieczorek
7/14/2015 | 10:49 PM

To znaczy zrezygnowałem z append, ponieważ musiałbym przekazywać cały post z php do js, żeby go umieścić w divie. Poszedłem za Pana radą. Nadaje każdemu postowi wartość css visibility: hidden i przy kliknięciu w link chcę nadać wartość visible. Po kliknięciu post się pokazuję, lecz nie wiem jak ukryć go gdy kliknę w inny. funkcja JS wygląda tak <script> window.onload = load; function load() { $( "#188" ).css( "visibility", "visible" ); } function get_post_content(id){ $( "#"+id ).css( "visibility", "visible" ); } </script> a w php, tak nadaje wartość hidden każdemu postowi <a href="#" onclick="get_post_content(<?php the_ID(); ?>);"><h1 class="entry-title"><?php the_title(); ?></h1></a> Tutaj link do całej pętli http://pastebin.com/YG1AXUHs

Krzysztof Branecki
7/14/2015 | 10:15 PM

A jak teraz wygląda Pana kod javascript? Czy nie wystarczy przed .append wyczyścić kontener z zawartości np za pomocą .empty()

Marcin Wieczorek
7/14/2015 | 9:54 PM

W funkcji onload przypisałem na sztywno id do danego postu, ładuje się bez problemu. Problem teraz mam z przełączaniem postów. Przy kliknięciu na inny chciałbym żeby ten, który był ukryty stał się widoczny a ten co był widoczny stał się ukryty. Zastosowałem warunek if, ale nie przyniósł rezultatu, toggle też na nic się nie zda. Myślałem jeszcze o przypisaniu wszystkich identyfikatorów do tablicy. Tablicę identyfikatorów przekazałbym do funkcji get_post_content(). Na początku nadawałbym każdemu elementowi z tablicy wartość hidden a na końcu. Wartość visible dla klikniętego elementu z id. function get_post_content(id){ $( "#"+id ).css( "visibility", "visible" ); } Czy można zrobić to jakoś prościej? Pozdrawiam

Krzysztof Branecki
7/14/2015 | 8:01 PM

To bardzo dobrze, cieszę się że mogłem przynajmniej naprowadzić Pana na rozwiązanie problemu.

Marcin Wieczorek
7/14/2015 | 7:33 PM

Rozwiązałem problem zbędnego odświeżania wystarczyło dodać hasha w href ; ) Działam dalej

Marcin Wieczorek
7/14/2015 | 6:31 PM

Udało mi się wyciągnąć id. Wyświetliłem także tytuł oraz zawartość każdego posta. http://pastebin.com/b4fcfTJ6 Nie mogę sobie poradzić z JQuery. W dużym skrócie z poziomu JS wygląda to tak http://pastebin.com/bGmteTFD String pojawia się, następnie jest reload strony i znika

Krzysztof Branecki
7/13/2015 | 12:08 PM

... zmieniając właściwość css visibility

Marcin Wieczorek
7/13/2015 | 12:13 AM

Rozumiem, funkcja showPost ma być w pętli do której ma być przekazywany ID postu, lecz jak w takim razie pobrać te ID z linku ? Zawartość musi się zmieniać po kliknięciu odnośnika. Mógłbym wywoływać funkcję onclickiem, ale to znowu traci sens, gdy dodam nowy item do menu. Z czego skorzystać ?

Krzysztof Branecki
7/12/2015 | 10:15 PM

Musi Pan w showPost(183, 'post_content') dynamicznie w pętli wyciągnąć id postu i wstawić go do tej funkcji

Marcin Wieczorek
7/12/2015 | 7:04 PM

Dobrze, udało mi się wypisać treść posta, póki co statycznie http://pastebin.com/Sm7r0Hkv A jak to zrobić dynamicznie? By po kliknięciu treść się podmieniała ?