Support » Allgemeine Fragen » one page layout, verschiedene page templates?

  • phlp

    (@phlp)


    guten tag zusammen,

    gerade arbeite ich an einer seite für eine freundin, die mit ihren nicht vorhanden kenntnissen später auch die seite verwalten soll/will.

    wie im betreff geschrieben handelt es sich um eine seite, ohne wirkliche unterseiten. dementsprechend lade ich auf der frontpage alle angelegten pages:
    bild 1

    bei klick auf eine der kacheln öffnet sich der inhalt der seite:
    bild 2

    dann gibt es aber auch seiten die im geöffnetem zustand ein anderes template brauchen. und genau daran scheitere ich gerade. über verschiedene page templates, die ich dann auch im backend der page zuweise und auch über is_page() kann ich keine unterscheidung zwischen den seiten erzwingen.

    kann mir jemand einen heißen tip geben?

    herzlichst und dank
    philipp

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • Moderator espiat

    (@espiat)

    du kannst in deinem theme neue php templates anlegen und diese dann auf der entsprechenden seite laden.

    z.B.

    is_page(40) // page mit ID 40
     {
    get_template_part( 'extratemplate' ); // php template im themeordner mit dem Namen extratemplate.php
    }

    Thread-Starter phlp

    (@phlp)

    hallo,

    erstmal danke.

    das problem ist, dass wordpress (bei meiner jetzigen lösung) nicht versteht, dass man auf einer neuen seite ist. da ich im prinzip (ziemlich uncool) alles auf einmal lade.

    <?php query_posts('post_type=page'); ?>
    	<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    
    	<div class="uc-container">
    		<div class="uc-initial-content">
    			<?php meta('index_image'); ?>
    			<span class="icon-eye"></span>
    		</div>
    		<div class="uc-final-content">
    			<div class="headline"><h1><?php the_title() ?></h1></div>
    			<div class="text">
    				<?php the_content() ?>
    				<a>order now</a>
    			</div>
    			<div class="nav"><a href="#"><</a><a href="#">></a></div>
    			<div class="slideshow next2"">
    				<?php meta('gallery'); ?>
    			</div>
    			<span class="icon-cancel"></span>
    		</div>
    	</div>
    Moderator espiat

    (@espiat)

    das ist der code, welcher seite? der page.php etc.?
    was soll auf den seiten anders sein (für mich zum verständnis)?

    Thread-Starter phlp

    (@phlp)

    ne. das ist meine index.php.

    zum beispiel soll der order now link nicht immer da sein und auch die slideshow.

    Moderator espiat

    (@espiat)

    tut mir leid- ich kann dir nicht folgen.

    ich weiss nicht von welcher slideshow (& order now link) du sprichst.

    kann es sein, dass du die sidebar meinst? auch aus deinem screenshot ist leider nicht mehr info zu entlocken.

    damit wir dir helfen können, musst du einfach mehr infos geben. (theme, welche info (page, artikel, etc.) soll wo und wo nicht genau angezeigt werden)

    Thread-Starter phlp

    (@phlp)

    oh, das ist blöde, ich versuche es genauer zu beschreiben!

    ich arbeite mit dem (veralteten) blank theme, welches ich aber fast komplett umgeschrieben habe.

    meine ganze seite läuft derzeit in der index.php ab, mit dem code von oben.

    über <?php query_posts(‚post_type=page‘); ?> hole ich mir alle seiten auf die index.php und verteile dann die inhalte der einzelnen pages in die container.

    <?php meta(‚index_image‘); ?> ist hierbei das quadratische bild das man in ausgangsposition sieht. wenn man auf das klickt, klappt die kache mit einem js auf und zeigt den restlichen inhalt also <?php the_content() ?> und <?php meta(‚gallery‘); ?>.

    im prinzip brauche ich also folgendes.

    <div class="uc-container">
    	<div class="uc-initial-content">HIER EIN INDEXBILD</div>
    	<div class="uc-final-content">HIER DER INHALT DER PAGE(, DIE DYNAMISCH ÜBER AJAX GELADEN WIRD?)</div>
    </div>

    .uc-initial-content ist also die kleine kachel mit dem foto aus bild 1.
    .uc-final-content ist die große aufgeklappte weiße fläche aus bild 2.

    die beide müssen halt dummerweise im jeweiligen .uc-container liegen.

    und das eben für jede page.

    verständlicher ausgedrückt :D?

    Moderator espiat

    (@espiat)

    ich glaube ich weiss, was das Problem ist: die beiden verlinkten Bilder von dir verlinken auf ein und dasselbe bild. da ist nämlich kein unterschied.

    dennoch habe ich wohl dein problem verstanden. du benötigst ein anderes design (?) für die einzelnen seiten.

    z.b. könntest du es über verschiedene css klassen lösen (zur veranschaulichung mit zeilenumbrüchen):

    <div class="
    	<?php if (is_page(1)) { echo "css-klasse-seite1"; } ?>
    	<?php if (is_page(2)) { echo "css-klasse-seite2"; } ?>
    	<?php if(!is_page('1,2')) { echo "css-klasse-aller-anderen-seiten" }?>
    	">
    	HIER DER INHALT DER PAGE(, DIE DYNAMISCH ?BER AJAX GELADEN WIRD?)
    
    	</div>

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • Das Thema „one page layout, verschiedene page templates?“ ist für neue Antworten geschlossen.