aktuellen Style einem (Modul) Link übergeben
Forum rules
Vor dem erstellen neuer Supportanfragen bitte zuerst in die board3 Portal FAQ schauen und die Suche benutzen!
Viele Fragen sind bereits schon gestellt und beantwortet worden.
Bitte auch unsere Forumsregeln lesen und beachten!
Vor dem erstellen neuer Supportanfragen bitte zuerst in die board3 Portal FAQ schauen und die Suche benutzen!
Viele Fragen sind bereits schon gestellt und beantwortet worden.
Bitte auch unsere Forumsregeln lesen und beachten!
aktuellen Style einem (Modul) Link übergeben
Deine Portal Version: 2.0.1
Typ Deines phpBB Forums: Standard phpBB3
MODs installiert: Nein
Dein Wissensstand: Einsteiger
Was hast Du gemacht, bevor das Problem aufgetreten ist?
Was hast Du bereits versucht um das Problem zu lösen?
habe das Modul Links umgeschrieben, um eine Link variable (für Bild-url) erweitert und das ein template für die mittlere Spalte genommen.
Leider funktioniert das Linkmodul in der mittleren Spalte nicht und wenn man es dafür freischaltet, kommt beim Aufruf der Seite nur eine Fehlermeldung.
habe Tante Google bemüht m herauszufinden wie ich Links und Bilder in der mittleren Spalte verwalten kann und leider nichts gefunden.
Fehlerbeschreibung und Nachricht
Hallo,
Habe in der mittleren Spalte das Modul "eigenen Block" hinzugefügt.
Darin hab ich den BB code deaktiviert und in html einen kleinen Content eingefügt. Dieser enthält neben Bildern auch links, welche auf interne Forenseiten verweisen. Mein Problem, das aktuelle Template wird nciht übergeben, sondern man landet im Standarttemplate.
So weit ich das gesehen habe, konnte ich da auch keine Foren-Variablen benutzen.
Weiss jemand eine Lösung dafür? link.php?style='aktuelles Template'
Viele Grüße
Heiko
Typ Deines phpBB Forums: Standard phpBB3
MODs installiert: Nein
Dein Wissensstand: Einsteiger
Was hast Du gemacht, bevor das Problem aufgetreten ist?
Was hast Du bereits versucht um das Problem zu lösen?
habe das Modul Links umgeschrieben, um eine Link variable (für Bild-url) erweitert und das ein template für die mittlere Spalte genommen.
Leider funktioniert das Linkmodul in der mittleren Spalte nicht und wenn man es dafür freischaltet, kommt beim Aufruf der Seite nur eine Fehlermeldung.
habe Tante Google bemüht m herauszufinden wie ich Links und Bilder in der mittleren Spalte verwalten kann und leider nichts gefunden.
Fehlerbeschreibung und Nachricht
Hallo,
Habe in der mittleren Spalte das Modul "eigenen Block" hinzugefügt.
Darin hab ich den BB code deaktiviert und in html einen kleinen Content eingefügt. Dieser enthält neben Bildern auch links, welche auf interne Forenseiten verweisen. Mein Problem, das aktuelle Template wird nciht übergeben, sondern man landet im Standarttemplate.
So weit ich das gesehen habe, konnte ich da auch keine Foren-Variablen benutzen.
Weiss jemand eine Lösung dafür? link.php?style='aktuelles Template'
Viele Grüße
Heiko
Re: aktuellen Style einem (Modul) Link übergeben
Hi
Ein Link zu deinem Board währe hilfreich.
Was kommt da fü eine Fehlermeldung?Heiko wrote:Leider funktioniert das Linkmodul in der mittleren Spalte nicht und wenn man es dafür freischaltet, kommt beim Aufruf der Seite nur eine Fehlermeldung.
Ein Link zu deinem Board währe hilfreich.
Gruß Udo
Re: aktuellen Style einem (Modul) Link übergeben
Hallo,Kirk wrote:HiWas kommt da fü eine Fehlermeldung?Heiko wrote:Leider funktioniert das Linkmodul in der mittleren Spalte nicht und wenn man es dafür freischaltet, kommt beim Aufruf der Seite nur eine Fehlermeldung.
Ein Link zu deinem Board währe hilfreich.
also da kommt:
Fatal error: Call to undefined method portal_links_module::get_template_center() in /www/htdocs/w0102f8a/bb/portal.php on line 103
wenn man in dem Modul: Links
Code: Select all
/**
* Allowed columns: Just sum up your options (Exp: left + right = 10)
* top 1
* left 2
* center 4
* right 8
* bottom 16
*/
var $columns = 14;
ach ja ein Link zum Forum; es ist noch in der Testphase und ich helfe da beim einrichten
http://www.hexenzirkel.info
in der Mitte ist ein eigener Block mit teilweise internen Links, erstellt mit dem vorgegeben html Editor. Wenn man nicht den Standart-Style nutzt, lande ich aber nach Aktivierung eines solchen Links wieder im Standart-Style.
ja, soweit erst mal,
Viele Grüße
Heiko
Re: aktuellen Style einem (Modul) Link übergeben
Das Link Modul ist normalerweise nicht für die Mitte bestimmt, aber das kann so ändern:
Öffne: root/portal/modules/portal_links.php
Finde:
Ersetzen mit:
Finde:
Davor einfügen:
Dieser Code oben ist für den Mittleren Block.
Erstelle eine Datei mit den Namen links_center.html mit folgenden Inhalt:
Diesen lädst du nach root/styles/[stylename]/template/portal/modules
Somit lässt sich der Block in alle Seiten verschieben.
Anmerkung:
Dieses ist jetzt für den Standard Link Block, deine Veränderungen musst du ggf. wieder hinzufügen.
Was den eigenen Block angeht, der Link im bild verweist ja auf
was dem Standard Style entspricht, das lässt sich so nicht ändern weil zb. wenn man den Style Astro wählt
aus http://www.hexenzirkel.info/bb/portal.php das hier wird http://www.hexenzirkel.info/bb/portal.php?style=12
Es wird immer die Style ID drangehängt.
Öffne: root/portal/modules/portal_links.php
Finde:
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 = 10;
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;
Finde:
Code: Select all
public function get_template_acp($module_id)
Code: Select all
public function get_template_center($module_id)
{
global $config, $template, $phpEx, $phpbb_root_path, $user, $db;
$links = array();
$portal_config = obtain_portal_config();
$links = $this->utf_unserialize($portal_config['board3_links_array_' . $module_id]);
// get user's groups
$sql = 'SELECT group_id
FROM ' . USER_GROUP_TABLE . '
WHERE user_id = ' . (int) $user->data['user_id'] . '
ORDER BY group_id ASC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$groups_ary[] = $row['group_id'];
}
$db->sql_freeresult($result);
for ($i = 0; $i < sizeof($links); $i++)
{
if($links[$i]['type'] == self::LINK_INT)
{
$links[$i]['url'] = str_replace('&', '&', $links[$i]['url']); // we need to do this in order to prevent XHTML validation errors
$cur_url = append_sid($phpbb_root_path . $links[$i]['url']); // the user should know what kind of file it is
}
else
{
$cur_url = $links[$i]['url'];
}
$cur_permissions = explode(',', $links[$i]['permission']);
$permission_check = array_intersect($groups_ary, $cur_permissions);
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,
'MODULE_ID' => $module_id,
'NEW_WINDOW' => ($links[$i]['type'] != self::LINK_INT && $config['board3_links_url_new_window_' . $module_id]) ? true : false,
));
}
}
return 'links_center.html';
}
Erstelle eine Datei mit den Namen links_center.html mit folgenden Inhalt:
Code: Select all
{$C_BLOCK_H_L}{$TITLE}{$C_BLOCK_H_R}
<div class="portal-navigation">
<ul>
<!-- BEGIN portallinks -->
<!-- IF $MODULE_ID eq portallinks.MODULE_ID --><li><a href="{portallinks.LINK_URL}" title="{portallinks.LINK_TITLE}" <!-- IF portallinks.NEW_WINDOW -->onclick="window.open('{portallinks.LINK_URL}'); return false;"<!-- ENDIF -->>{portallinks.LINK_TITLE}</a></li><!-- ENDIF -->
<!-- BEGINELSE -->
<span style="float:left;" class="gensmall"><strong>{L_LINKS_NO_LINKS}</strong></span><br />
<!-- END portallinks -->
</ul>
</div>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Somit lässt sich der Block in alle Seiten verschieben.
Anmerkung:
Dieses ist jetzt für den Standard Link Block, deine Veränderungen musst du ggf. wieder hinzufügen.
Was den eigenen Block angeht, der Link im bild verweist ja auf
Code: Select all
<a href="http://www.hexenzirkel.info/bb/use_me/tageskarte/tageskarte.php
aus http://www.hexenzirkel.info/bb/portal.php das hier wird http://www.hexenzirkel.info/bb/portal.php?style=12
Es wird immer die Style ID drangehängt.
Gruß Udo
Re: aktuellen Style einem (Modul) Link übergeben
Hallo Udo,
Vielen vielen Dank, es hat funktioniert, ich kann ein Link Modul mittig generieren.
meine Variable für ein Bildlink wird zwar noch nicht übergeben, aber daran bastle ich noch ein wenig.
Vielen Dank noch mal für die schnelle Hilfe.
Viele Grüße
Heiko
Vielen vielen Dank, es hat funktioniert, ich kann ein Link Modul mittig generieren.
meine Variable für ein Bildlink wird zwar noch nicht übergeben, aber daran bastle ich noch ein wenig.
Vielen Dank noch mal für die schnelle Hilfe.
Viele Grüße
Heiko
Re: aktuellen Style einem (Modul) Link übergeben
ich noch mal,
mit der Bildurl übergeben das klappt jetzt auch, super *freu*
vielen Dank noch mal,
Viele Grüße
Heiko
mit der Bildurl übergeben das klappt jetzt auch, super *freu*
vielen Dank noch mal,
Viele Grüße
Heiko
Re: aktuellen Style einem (Modul) Link übergeben
Freut mich das es geklappt hat.
Es währe schön wenn du allen hier mitteilen würdest was du verändert hast.
Es währe schön wenn du allen hier mitteilen würdest was du verändert hast.
Gruß Udo
Re: aktuellen Style einem (Modul) Link übergeben
oh sorry, natürlich,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.
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';
ü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,
));
}
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],
);
}
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 57:'ACP_PORTAL_LINK_IMG_EXP' => 'Bildlink URL',
Code: Select all
'NO_LINK_IMG' => 'Du musst ein Bildlink eingeben.',
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}
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>
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>
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