Kirk wrote:Freut mich das es geklappt hat.
Es währe schön wenn du allen hier mitteilen würdest was du verändert hast.
oh sorry, natürlich,
es ging "nur" darum, in der mittleren Spalte ein paar Bildlinks unterzubringen, welche ich im ACP verwalten kann.
also ich habe eine copie des Links Modul angelegt und die Dateinamen auf ...links_center.*** umbenannt.
Was zu beachten ist, wenn man module bearbeitet hab ich hier gefunden:
knowledge/kb_show.php?id=58
bzw.:
welche Dateien betroffen sind:
knowledge/kb_show.php?id=55
in: root/portal/modules/portal_links_center.php hab ich die Dateinamen angepasst:
Code: Select all
/**
* Default modulename
*/
public $name = 'PORTAL_LINKS_CENTER';
/**
* Default module-image:
* file must be in "{T_THEME_PATH}/images/portal/"
*/
public $image_src = '';
/**
* module-language file
* file must be in "language/{$user->lang}/mods/portal/"
*/
public $language = 'portal_links_center_module';
/**
* custom acp template
* file must be in "adm/style/portal/"
*/
public $custom_acp_tpl = 'acp_portal_links_center';
also immer das "_center" angefügt.
überall wo die variable link_url auftauchte, habe ich diese kopiert und eine Zeile mit link_img als variable eingefügt,
was nicht funktionierte, .... mit dem Code insgesammt bin ich total überfordert, um ihn zu verstehen,
also dachte ich, ich brauch "nur" eine Textzeile um einen Bildlink weiterzugeben, also hab ich überall die variable "link_title" kopiert und "title" überall mit "img" ersetzt ein Beispiel:
Code: Select all
if(!empty($permission_check) || $links[$i]['permission'] == '')
{
$template->assign_block_vars('portallinks', array(
'LINK_TITLE' => (isset($user->lang[$links[$i]['title']])) ? $user->lang[$links[$i]['title']] : $links[$i]['title'],
'LINK_URL' => $cur_url,
'LINK_IMG' => (isset($user->lang[$links[$i]['img']])) ? $user->lang[$links[$i]['img']] : $links[$i]['img'],
'MODULE_ID' => $module_id,
'NEW_WINDOW' => ($links[$i]['type'] != self::LINK_INT && $config['board3_links_url_new_window_' . $module_id]) ? true : false,
));
}
unter 'LINK_URL' hab ich eine Zeile mit 'LINK_IMG' eingefügt die genau so behandelt wird wie die LINK_TITLE variable,
oder hier:
Code: Select all
foreach($links_urls as $i => $url)
{
$links[] = array(
'title' => $links_titles[$i],
'url' => $links_urls[$i],
'img' => $links_img[$i],
'type' => $links_types[$i],
'permission' => $links_permissions[$i],
);
}
also nur eingefügt: " 'img' => $links_img[$i], "
das hab ich mit dem ganzen Dokument gemacht.
Code: Select all
/**
* Allowed columns: Just sum up your options (Exp: left + right = 10)
* top 1
* left 2
* center 4
* right 8
* bottom 16
*/
public $columns = 31;
da hatte ich erst 14, weil ich dachte: links und rechts 10, + 4 für mitte,
wurde dann auch in der Mitte aufgeführt, was jedoch beim Seitenaufruf zum php-Error führte, den ich oben aufgeführt habe.
hab dann den Wert nach Deiner Anleitung auf 31 verändert.
in language/de/mods/portal/portal_links_center_module.php
Zeile 35:
Code: Select all
'PORTAL_LINKS_CENTER' => 'Links mit Bild',
Zeile 48:
'ACP_PORTAL_LINK_IMG_EXP' => 'Bildlink URL',
Zeile 57:
Code: Select all
'NO_LINK_IMG' => 'Du musst ein Bildlink eingeben.',
in: styles/[akt.template]/template/portal/modules/links_center.html
Code: Select all
{$C_BLOCK_H_L}{$TITLE}{$C_BLOCK_H_R}
<div class="panel bg1" style="margin-bottom: 0px">
<div class="inner"><span class="portal-corners-top-inner"></span>
<div class="postbody" style="width: 100%">
<div class="content" style="min-height: 1em;">
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<!-- BEGIN portallinks -->
<!-- IF $MODULE_ID eq portallinks.MODULE_ID --><td align="center"><a href="{portallinks.LINK_URL}" title="{portallinks.LINK_TITLE}" <!-- IF portallinks.NEW_WINDOW -->onclick="window.open('{portallinks.LINK_URL}'); return false;"<!-- ENDIF -->><img src="{portallinks.LINK_IMG}" height="100" /><br />{portallinks.LINK_TITLE}</a></td><!-- ENDIF -->
<!-- BEGINELSE -->
<span style="float:left;" class="gensmall"><strong>{L_LINKS_NO_LINKS}</strong></span>
<!-- END portallinks -->
</tr>
</table>
</div>
</div>
<span class="portal-corners-bottom-inner"></span></div>
</div>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
okay, eine Tabelle ist vom code her net sauber, man könnte die Bildlinks auch mit <div> anordnen, aber es sind nur 4 -5 Links, die mittig ausgerichtet werden sollten und dafür reicht es.
damit sich der Bildlink im Adminmenü eingeben lässt:
adm/styles/portal/acp_portal_links_center.html
nach:
Code: Select all
<dl>
<dt>
<label for="link_url">{L_ACP_PORTAL_LINK_URL}:</label><br />
<span>{L_ACP_PORTAL_LINK_URL_EXP}</span>
</dt>
<dd><input name="link_url" type="text" id="link_url" value="{LINK_URL}" maxlength="255" /></dd>
</dl>
eingefügt:
Code: Select all
<dl>
<dt>
<label for="link_img">{L_ACP_PORTAL_LINK_IMG}:</label><br />
<span>{L_ACP_PORTAL_LINK_IMG_EXP}</span>
</dt>
<dd><input name="link_img" type="text" id="link_img" value="{LINK_IMG}" maxlength="255" /></dd>
</dl>
okay, danach kam wie gesagt der Fehler und dann hast Du mir hier glücklicherweise weiterhelfen können, als Du gepostet hast, wie die portal_links.php ergänzt werden muss, damit sie auch in der mittleren Spalte funktioniert.
Sorry wenn ich vielleicht nicht korrekt dokumentiert hab wie ich vorgegangen bin; bin eher Laie auf dem Gebiet; der größte Teil des Codes ist für mich kaum nachvollziehbar
ich hoffe es war nicht zu konfus
Viele Grüße
Heiko