totzdem muss man ja irgendwie die sache lösen können ohne plugin ....
Nein es sei den du wüsstest was du tust. Weißt du aber nicht tatsächlich sonst gäbe es das Thema nicht.
totzdem muss man ja irgendwie die sache lösen können ohne plugin ....
Nein es sei den du wüsstest was du tust. Weißt du aber nicht tatsächlich sonst gäbe es das Thema nicht.
Alles anzeigenWäre es möglich, hier erstens mal den Titel zu korrigieren und zweitens konkret aufzuzeigen, welche Inhalte die Seite nun wirklich haben soll?
Hier ist seitens des TE immer nur vage von "die Codes" die Rede. In den gezeigten Beispielen gibt es nicht eine Zeile PHP und dennoch wird ständig nach der Möglichkeit gefragt, PHP verwenden zu können. Die dafür aufgezeigten Optionen in Form der genannten Plugins werden abgelehnt. Im Moment dreht sich das hier alles im Kreis.
Gruß norse
Hey norse
pass auf
Ich würde gerne selber ein datei oder plugin wie auch immer erstellen , das basteln mit dem codes , includes , binds ect wie auch immer ihr diese nennt wäre nicht so das problem.
Problem ist , ich möchte eine datei erstellen , quasi eine neue .tpl datei wo ich solche includes einbinden kann.
zum beispiel ! "<a href="{$boxArticle->getLink()}"{if $boxArticle->getTeaserImage()} class="box64"{/if}>"
und diese bekomme ich nicht hin , weder im ACP weil dieses keine includes aktzeptiert und via ftp hochladen und aufrufen ist auch nicht möglich.
weil zb bei ilch / webspell cms war das alles bischen einfacher , dort habe ich eine datei erstellt die hochgeladen und dann konnte ich die auch gleich aufrufen aber bei woltlab ist das wohl etwas schwieriger
ziel ist es , quasi eine neue daschboard ansicht zuerstellen so wie hier im bild oder im link , halt mit ein paar anderen boxen , oder so wie hier https://ytforum.de/
ich hoffe es ist etwas verständlicher so
ich hoffe es ist etwas verständlicher so
Nicht wirklich, da du nicht darauf eingehst, was genau du wie umsetzen möchtest. Dein genanntes Beispiel <a href="{$boxArticle->getLink()}"{if $boxArticle->getTeaserImage()} class="box64"{/if}> wird Fehler werfen, da du Variablen im Template abfragst, die nicht an das Template, respektive Seite oder Box vom Typ "Template", mittels PHP übergeben wurden. Evtl. hilft dir dieses Thema hier weiter: https://community.woltlab.com/…emplate-seite-darstellen/.
Deine beiden Dashboard Beispiele lassen sich aber, wobei das mehrmals schon gesagt wurde, mit Systemmitteln umsetzen, ohne dafür eine Seite und Boxen des Typs "Template" anzulegen.
Meinst du sowas.
Wenn ja,
dazu brauchst du das Plugin php Code in der Sidebar.
Dann erstellst du dir eine Template Box und füllst sie.
PHP
<?php
use wbb\data\thread\AccessibleThreadList;
use wcf\data\article\AccessibleArticleList;
use wcf\system\WCF;
$assignVariables = [];
$threadList = new AccessibleThreadList();
$threadList->sqlLimit = 5;
$threadList->sqlOrderBy = "thread.lastPostTime DESC";
$threadList->readObjects();
$assignVariables['homeThreads'] = $threadList->getObjects();
WCF::getTPL()->assign($assignVariables);
$articleList = new AccessibleArticleList();
$articleList->sqlLimit = 5;
$articleList->sqlOrderBy = "article.publicationDate DESC";
$articleList->readObjects();
WCF::getTPL()->assign("boxArticleList", $articleList->getObjects());
Alles anzeigen
<div class="box2Spalten">
<ul class="sidebarItemList">
<h2 class="boxTitle">
Aktuelle Themen </h2>
{foreach from=$homeThreads item=thread}
<li class="box24">
<a href="{$thread->getLink()}" data-user-id="{$thread->getLastPosterProfile()->userID}">
<img src="{$thread->getLastPosterProfile()->getAvatar()->getURL(24)}" alt="" style="width: 24px; height: 24px" class="userAvatarImage">
</a>
<div class="sidebarItemTitle">
<small>
<ul class="inlineList dotSeparated">
<li>{@$thread->lastPostTime|time}</li>
<li>{$thread->getLastPosterProfile()->username}</li>
</ul>
</small>
<h3>{$thread->getTitle()}</h3>
</div>
</li>
{/foreach}
</ul>
<ul class="sidebarItemList">
<h2 class="boxTitle">
Aktuelle Artikel </h2>
{foreach from=$boxArticleList item=boxArticle}
<li class="box24">
<a href="{$boxArticle->getLink()}"{if $boxArticle->getTeaserImage()} class="box24"{/if}>
{if $boxArticle->getTeaserImage()}<span>{@$boxArticle->getTeaserImage()->getElementTag(24)}</span>{/if}
</a>
<div class="sidebarItemTitle">
<small>
<ul class="inlineList dotSeparated">
<li>
<span class="icon icon16 fa-clock-o"></span>
{@$boxArticle->time|time}
<span class="icon icon16 fa-comments"></span>
{$boxArticle->getDiscussionProvider()->getDiscussionCountPhrase()}
</li>
</ul>
</small>
<h3>{$boxArticle->getTitle()}</h3>
</div>
</li>
{/foreach}
</ul>
</div>
Alles anzeigen
Dann muss du das ganze noch neben einander setzen.
.box2Spalten {
display: flex;
flex-wrap: wrap;
margin-left: -1%;
margin-right: -1%;
}
.box2Spalten > ul {
width: 50%;
flex: 0 0 48%;
margin-bottom: 20px;
max-width: 48%;
border: 1px solid $wcfContentContainerBorder;
margin: 1%;
padding: 20px;
min-height: 200px;
margin-bottom: 20px;
}
.box2Spalten > ul:not(:first-child) {
margin-top: 10px;
}
.boxTitle{
color:#fff!important;
}
Alles anzeigen
geht bestimmt auch noch besser, aber so hatte ich es mal gelöst.
CSS kannst du dir ja noch anpassen wie du möchtest.
Alles anzeigenMeinst du sowas.
Wenn ja,
dazu brauchst du das Plugin php Code in der Sidebar.
Dann erstellst du dir eine Template Box und füllst sie.
PHP
PHPAlles anzeigen<?php use wbb\data\thread\AccessibleThreadList; use wcf\data\article\AccessibleArticleList; use wcf\system\WCF; $assignVariables = []; $threadList = new AccessibleThreadList(); $threadList->sqlLimit = 5; $threadList->sqlOrderBy = "thread.lastPostTime DESC"; $threadList->readObjects(); $assignVariables['homeThreads'] = $threadList->getObjects(); WCF::getTPL()->assign($assignVariables); $articleList = new AccessibleArticleList(); $articleList->sqlLimit = 5; $articleList->sqlOrderBy = "article.publicationDate DESC"; $articleList->readObjects(); WCF::getTPL()->assign("boxArticleList", $articleList->getObjects());
CodeAlles anzeigen<div class="box2Spalten"> <ul class="sidebarItemList"> <h2 class="boxTitle"> Aktuelle Themen </h2> {foreach from=$homeThreads item=thread} <li class="box24"> <a href="{$thread->getLink()}" data-user-id="{$thread->getLastPosterProfile()->userID}"> <img src="{$thread->getLastPosterProfile()->getAvatar()->getURL(24)}" alt="" style="width: 24px; height: 24px" class="userAvatarImage"> </a> <div class="sidebarItemTitle"> <small> <ul class="inlineList dotSeparated"> <li>{@$thread->lastPostTime|time}</li> <li>{$thread->getLastPosterProfile()->username}</li> </ul> </small> <h3>{$thread->getTitle()}</h3> </div> </li> {/foreach} </ul> <ul class="sidebarItemList"> <h2 class="boxTitle"> Aktuelle Artikel </h2> {foreach from=$boxArticleList item=boxArticle} <li class="box24"> <a href="{$boxArticle->getLink()}"{if $boxArticle->getTeaserImage()} class="box24"{/if}> {if $boxArticle->getTeaserImage()}<span>{@$boxArticle->getTeaserImage()->getElementTag(24)}</span>{/if} </a> <div class="sidebarItemTitle"> <small> <ul class="inlineList dotSeparated"> <li> <span class="icon icon16 fa-clock-o"></span> {@$boxArticle->time|time} <span class="icon icon16 fa-comments"></span> {$boxArticle->getDiscussionProvider()->getDiscussionCountPhrase()} </li> </ul> </small> <h3>{$boxArticle->getTitle()}</h3> </div> </li> {/foreach} </ul> </div>
Dann muss du das ganze noch neben einander setzen.
CSSAlles anzeigen.box2Spalten { display: flex; flex-wrap: wrap; margin-left: -1%; margin-right: -1%; } .box2Spalten > ul { width: 50%; flex: 0 0 48%; margin-bottom: 20px; max-width: 48%; border: 1px solid $wcfContentContainerBorder; margin: 1%; padding: 20px; min-height: 200px; margin-bottom: 20px; } .box2Spalten > ul:not(:first-child) { margin-top: 10px; } .boxTitle{ color:#fff!important; }
geht bestimmt auch noch besser, aber so hatte ich es mal gelöst.
CSS kannst du dir ja noch anpassen wie du möchtest.
ja genau @mipu bloss das ich den php code gerne in eine neue .tpl legen wollte danke dir erstmal , mal gucken wie ich das umsetzen kann
php code gerne in eine neue .tpl legen wollte
Das geht nicht.
Das geht nicht.
nicht ? aber die anderen module sind doch auch in einer .tpl datei :o ?
die anderen module
was für Module?
ich raff das nicht ...
bin ich blöde?
Um hier das Durcheinander zu komplettieren: Ich hatte darum gebeten, den irritierenden Thementitel zu korrigieren.
Gruß norse