Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Osobna strona główna dla wersji mobilnej w IP.Content


BitGit
Przejdź do rozwiązania Rozwiązane przez BitGit,

Rekomendowane odpowiedzi

Mam taki problem, że strona główna w wersji mobile nie formatuje się tak jak bym tego oczekiwał. Chciałbym rozpisać dla niej dodatkowy kod i umieścić w osobnym bloku. Jeśli użytkownik miałby włączoną wersję mob. blok zostałby wyświetlony zamiast standardowej wersji dla pełnego widoku (którego kod zostałby umieszczony w drugim bloku)

 

coś w tym stylu:

 <if test {zmienna sprawdzająca jaki jest używany styl} >
     {parse_block="dla_skinu_mobilnego"}    
 < else />
     {parse block="dla_skinu_pełnego"}
 </if>

Czy możecie mi pomóc napisać taki warunek, który będzie sprawdzał czy użytkownik używa skóry mobilnej? 

Edytowane przez 9xx
Odnośnik do komentarza
Udostępnij na innych stronach

Z oficjalnego: http://community.invisionpower.com/topic/361896-mobile-skin/?p=2265755

 

 

Right, well I use the following for my main index page, you will need to make sure the page is set to Raw PHP though:
 


if ( $this->registry->output->skin['set_key'] == 'mobile' ) {
    echo '{parse articles}';
} else {
    echo '
<div class="ipsLayout ipsLayout_withright ipsLayout_largeright clearfix">
    <div class="ipsLayout_right">
        {parse block="latest_posts"}
     ...
     ... // More blocks here
     ...
    </div>
    <div class="ipsLayout_content">
     {parse articles}
    </div>
</div>';
}
Then in the article/database/page/block templates, I use the following to control whether certain parts get shown:
<if test="$this->registry->output->skin['set_key'] == 'mobile'">...Stuff Here to only Show on Mobile...</if>

<if test="$this->registry->output->skin['set_key'] != 'mobile'">...Stuff Here to NOT Show on Mobile...</if>
  • Lubię to 1
Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję,

 

Niestety nie poradziłem sobie. Wychodzą bokiem wagary w szkole i brak doświadczenia ;)

 

Ustawiłem stronę jako php, dodałem warunek w content ale uzyskałem tylko błędy na stronie. Próbowałem ustawić  również set_key jako ID=2 

 

Może mielibyście jakąś poradę łopatologiczną..?

Odnośnik do komentarza
Udostępnij na innych stronach

Skopiowałem kod z porady IPS ( z postu #2 )

 

Strona wygląda tak:

if ( $this->registry->output->skin['set_key'] == 'mobile' ) {
    echo '{parse articles}';
} else {
    echo '
<div class="ipsLayout ipsLayout_withright ipsLayout_largeright clearfix">
    <div class="ipsLayout_right">
        {parse block="latest_posts"}
     ...

     ...
    </div>
    <div class="ipsLayout_content">
     {parse articles}

<if test="$this->registry->output->skin['set_key'] == 'mobile'">...Stuff Here to only Show on Mobile...</if>

<if test="$this->registry->output->skin['set_key'] != 'mobile'">...Stuff Here to NOT Show on Mobile...</if>

    </div>
</div>';
}

rozumiem, że gdzieś są błędy na ' lub " ale nie potrafię ich wyłapać

Edytowane przez 9xx
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Nie wiem czy tak pójdzie, ale spróbuj:

if ( $this->registry->output->skin['set_key'] == 'mobile' ) {
    echo '{parse articles}';
} else {
    echo '
<div class="ipsLayout ipsLayout_withright ipsLayout_largeright clearfix">
    <div class="ipsLayout_right">
        {parse block="latest_posts"}
     ...
     ...
    </div>
    <div class="ipsLayout_content">
     {parse articles}
<if test="$this->registry->output->skin[\'set_key\'] == \'mobile\'">...Stuff Here to only Show on Mobile...</if><if test="$this->registry->output->skin[\'set_key\'] != \'mobile\'">...Stuff Here to NOT Show on Mobile...</if>
    </div>
</div>';
}
  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Rozwiązanie

Nie poszło :( te same błędy

 

Obejdę ten problem i zrobię w ten sposób:

 

Wrzuciłem taki kod do jednego z szablonów bazy danych Content (Media System Listing)

<if test="$this->registry->output->skin['set_key'] == 'mobile'">
mobilny
<else />
standard
</if>

i tam działa prawidłowo… 

 

Powielę sobie szablon kategorii z bazy danych IP.Content i na nim zrobię ten myk z dwoma wersjami. Strona główna będzie podpięta pod ten szablon. Powinno zagrać ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Z PW od autora informacje dodatkowe:

W sekcji strony musi zostać tylko jeden warunek, który pokazuje wersję standard, wersja mobilna jest przecież w echo..

 

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.