Seite 1 von 3
Classifieds Mod für Portal
Verfasst: 04.08.2011 18:29
von chakuza_de
Hallo,
ich verwende den Classifieds Mod von Kamahl. Da das Portal Board3 meine Startseite ist, wollte ich fragen ob einer einen Mod dafür kennt, damit die aktuellen Anzeigen ( 5 Stück ) in einem Fenster angezeigt werden.
Wenn nichts gibt, muss ich mal versuchen, ob ein Laie das hinkriegt.
Gruß
Thorsten
Re: Classifieds Mod für Portal
Verfasst: 05.08.2011 00:20
von forza sve
Hi,
daran bin ich auch interessiert. Ich glaube der User wintstar hatte das einmal für eine vorherige Version des Mods gemacht. Vll. meldet er sich hier nochmal zu diesem Thema.
Re: Classifieds Mod für Portal
Verfasst: 05.08.2011 21:36
von chakuza_de
Hallo,
habe das jetzt soweit selber hinbekommen. Habe auch direkt ein Modul-paket erstellt.
Ist halt noch Alpha und hat noch folgendes Problem:
Alle Angebote werden doppelt dargestellt.
habe folgenden Code verbaut:
Code: Alles auswählen
<ul class="topiclist forums">
<!-- BEGIN ad -->
<li>
<dl>
<dd>
<div class="cl_desc">
<a href="{ad.AD_LINK}"><b><!-- IF ALLOW_AD_PREFIX and ad.AD_PREFIX -->
<span style="color:{AD_PREFIX_COLOR}">[{ad.AD_PREFIX}]</span>
<!-- ENDIF --><br />{ad.AD_TITLE}</b></a><br />
</div>
</dd>
</dl>
</li>
<!-- END ad -->
</ul>
Vielleicht kann da einer was zusagen oder mir helfen.
Würde es ja hier bereitstellen, wenn ich wüsste wie.
Gruß
Thorsten
Re: Classifieds Mod für Portal
Verfasst: 05.08.2011 22:01
von 7emper5i
Hallo,
meine Lösung sieht folgendermaßen aus:
[ externes Bild ]
Um dies nachzubauen gehst du wie folgt vor:
1. Öffne deine
template/portal/portal_center.html
Füge folgenden Code ein, wo auch immer du die Kleinanzeigen sichtbar haben möchtest:
2. Öffne deinen Editor und füge folgenden Code ein:
Code: Alles auswählen
<!--version $Id: classifieds.html 2011-04-01 Philipp $ //-->
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_user.png" width="16" height="16" alt="" /> <!-- ENDIF -->Teilemarkt{$LR_BLOCK_H_R}
<!-- BEGIN rand_ad -->
<div style="float:left;width:33%;">
<div style="<!-- IF not rand_ad.S_LAST_ROW -->border-right: 1px solid #CCCCCC;<!-- ENDIF -->padding:0 5px;font-size:10px;">
<div style="padding-bottom: 5px;">
<!-- IF rand_ad.THUMB -->
<img src="{rand_ad.THUMB}" alt="{rand_ad.TITLE}" style="max-width: 100px; max-height: 60px;" />
<!-- ELSE -->
<img src="{ROOT_PATH}/buysell/images/noimage.gif" alt="{rand_ad.TITLE}" />
<!-- ENDIF -->
</div>
<a href="{rand_ad.AD_LINK}"><strong><!-- IF S_ALLOW_AD_PREFIX and rand_ad.AD_PREFIX --><span style="color:{AD_PREFIX_COLOR}">[{rand_ad.AD_PREFIX}]</span> <!-- ENDIF -->{rand_ad.AD_TITLE}</strong></a><br />
{L_IN} <strong>{rand_ad.CATEGORY}</strong><br />
<strong>{L_PRICE}:</strong> {rand_ad.AD_PRICE}<br />
<strong>{L_SELLER}:</strong> <strong><a <!-- IF rand_ad.AD_POSTER_COLOR --> style="color:#{rand_ad.AD_POSTER_COLOR}" <!-- ELSE --> style="color:#000" <!-- ENDIF --> href="{rand_ad.USER_LINK}">{rand_ad.AD_POSTER}</a></strong>
</div>
</div>
<!-- END rand_ad -->
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
Anschließend speicherst du dies als
classifieds.html ab und lädst die Datei auf deinen Webspace in den Ordner
template/portal/block/
3. Nun gehst du in das Stammverzeichnis deines Forums und öffnest die
portal.php
Dort suchst du die Zeile:
und fügst davor ein
Code: Alles auswählen
// MOD :: CLASSIFIEDS MOD -- START
if($config['enable_classifieds'])
{
$sql = 'SELECT COUNT(ad_id) as NUMBER_ADS
FROM ' . CLASSIFIEDS_TABLE . '
WHERE ad_status = 0
AND invisible = 0
AND ad_expire > '.time();
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$template->assign_vars(array(
'TOTAL_ADS' => ($config['enable_classifieds']) ? '<strong>'.$row['NUMBER_ADS'].'</strong>' : '',
));
if ($auth->acl_get('u_view_classifieds') && ( ($config['display_ads_on_index'] && $config['ad_num_display_on_index'] !='0') || ($config['display_rand_ads_on_index'] && $config['rand_ad_num_display_on_index'] !='0') ) )
{
if ($config['display_ads_on_index'] && $user->data['classified_display_recent_ads'] && $config['ad_num_display_on_index'] !='0' )
{
display_recent_ads($config['ad_num_display_on_index']);
$template->assign_vars(array(
'S_DISPLAY_ADS_ON_INDEX' => true,
'S_RECENT_ADS_TOP' => ($config['recent_ads_place']) ? true : false,
));
}
if ($config['display_rand_ads_on_index'] && $config['rand_ad_num_display_on_index'] !='0' )
{
display_random_ads($config['rand_ad_num_display_on_index']);
$template->assign_vars(array(
'S_DISPLAY_RAND_ADS_ON_INDEX' => true,
'S_RAND_ADS_TOP' => ($config['rand_ads_place']) ? true : false,
));
}
$template->assign_vars(array(
'ALLOW_AD_PREFIX' => $config['allow_ad_prefix'],
'AD_PREFIX_COLOR' => $config['ad_prefix_color'],
));
}
}
// MOD :: CLASSIFIEDS MOD -- END
Anschließend speicherst du die
portal.php ab.
4. Abschließend gehst du in die "Ansicht Einstellungen Inserate Block" und änderst in "meinem Fall" die Einstellung für die Zufällige Inserate-Block Einstellungen beispielsweise auf so ab, dass sie für dich passt. Bei mir sind es drei Inserate.
Falls du eine andere Darstellung haben möchtest, als die "zufälligen Inserate" musst du den Quellcode von mir entsprechend anpassen.
Viel Erfolg bei Umsetzen,
Gruß
Philipp
Re: Classifieds Mod für Portal
Verfasst: 05.08.2011 22:30
von chakuza_de
Hallo Philip,
danke, aber hab es ja genauso gemacht wie du, nur halt mit den aktuellen Anzeigen.
Mit dem Code von den zufälligen, werden auch alle doppelt angezeigt. Weiß nicht woran es liegen könnte.
Gruß
Thorsten
Re: Classifieds Mod für Portal
Verfasst: 05.08.2011 22:43
von 7emper5i
Hallo,
ne, hast du nicht ganz
Stelle im
pastebin bitte folgende Dateien von dir zur Verfügung und verlinke sie hier:
1. portal.php
2. die Datei, in welcher du deinen Code eingebunden hast
Anschließend füge bitte noch einen Screenshot von deiner
Ansicht Einstellungen Inserate Block ein.
Gruß
Re: Classifieds Mod für Portal
Verfasst: 05.08.2011 23:26
von forza sve
@7emper5i
..hänge mich einmal kurz hier rein. Habe alles so gemacht wie Du es beschrieben hast. Folgende Fehlermeldung erscheint:
http://www.dieschwatten.de/downloads/screenshot.JPG
Gruß
Re: Classifieds Mod für Portal
Verfasst: 05.08.2011 23:32
von 7emper5i
Hallo,
bei mir ist der Code in der portal.php notwendig, es kann aber sein, dass dem bei dir nicht so ist.
Du hattest denselben Fehlercode im April schon einmal, Stephan hatte dir daraufhin geraten, den Code aus der portal.php zu entfernen.
Versuch das noch mal.
Link: Klicke hier
Aufgrund der Tatsache, dass kamahl eine Zeitlang alle paar Stunden / Tage ein Update seiner Mod rausbrachte, anstatt sinnvoll alle paar Wochen große Schritte zusammenfassend zu aktualisieren, habe ich bei mir eine eigenhändig modifizierte Version der "Kleinanzeigen" laufen. Daher kann es sein, dass die Modifikation bei dir partiell anders aufgebaut ist.
Wenn es gewünscht ist, überschaue ich meinen Code noch einmal anhand einer Standard-phpBB3 - Version ohne Modifikationen ausser Portal und Classifieds und stelle es dann hier ein.
Gruß
Re: Classifieds Mod für Portal
Verfasst: 05.08.2011 23:41
von forza sve
Hi,
habe den code aus der portal.php wieder entfernt. Nun erscheint:
[ externes Bild ]
Jep,..insbesondere bei dem Mod von Kamahl wurden wirklich laufend Änderungen vorgenommen. Also,..ich fände es toll wenn Du es machen würdest.
Re: Classifieds Mod für Portal
Verfasst: 06.08.2011 02:56
von 7emper5i
Hallo,
Modifizierte Anleitung:
Bitte beachtet, dass dies nur mit den jeweiligen Versionen
phpBB 3.0.9
board3 Portal 2.0.0 - Beta 1
classifieds 1.0.0
funktioniert. Dass diese Modifikationen im Vorfeld ohne Fehler eingebaut wurden, versteht sich von selbst. Weiterhin gilt es zu beachten, dass auch keine Überbleibsel der Mods vorhanden sein dürfen - also alte Codeblöcke, die vor einigen Versionen für den Mod notwendig waren, aber im Zuge der Updates überflüssig wurden und gelöscht werden sollten im Rahmen der Updates. Sollte dies nicht beachtet werden, kann und wird es wahrscheinlich zu einem Fehler führen.
Sofern ihr alles entsprechend den Kriterien erfüllt habt, sieht das Ergebnis dann wie folgt aus:
[ externes Bild ]
1. Öffne deine portal.php im root-Verzeichnis.
Finde
Code: Alles auswählen
// Assign specific vars
$template->assign_vars(array(
// 'S_SMALL_BLOCK' => true,
...
und füge davor ein:
Code: Alles auswählen
// MOD :: CLASSIFIEDS MOD -- START
if (isset($config['enable_classifieds']))
{
if($config['enable_classifieds'] && $auth->acl_get('u_view_classifieds') && ( ($config['display_ads_on_index'] && $config['ad_num_display_on_index'] !='0') || ($config['display_rand_ads_on_index'] && $config['rand_ad_num_display_on_index'] !='0') ) )
{
include($phpbb_root_path . 'buysell/includes/functions_buysell.' . $phpEx);
$user->setup('mods/classified');
if ($config['display_ads_on_index'])
{
display_recent_ads($config['ad_num_display_on_index']);
$template->assign_vars(array(
'S_DISPLAY_ADS_ON_INDEX' => true,
'S_RECENT_ADS_TOP' => ($config['recent_ads_place']) ? true : false,
));
}
if ($config['display_rand_ads_on_index'] )
{
display_random_ads($config['rand_ad_num_display_on_index']);
$template->assign_vars(array(
'S_DISPLAY_RAND_ADS_ON_INDEX' => true,
'S_RAND_ADS_TOP' => ($config['rand_ads_place']) ? true : false,
));
}
}
}
// MOD :: CLASSIFIEDS MOD -- END
2. Öffne deine
portal_body.html im template/portal - Verzeichnis
Finde:
Code: Alles auswählen
<!-- END modules_center -->
<!-- IF S_DISPLAY_JUMPBOX -->
<br />
<!-- INCLUDE portal/modules/jumpbox.html -->
<!-- ENDIF -->
</td>
und füge vor <!-- IF S_DISPLAY_JUMPBOX -->
ein.
3. Erstelle eine neue *.html-Seite mit deinem Editor und nenne diese
classifieds.html
In diese Datei fügst du folgenden Code ein:
Code: Alles auswählen
<div class="forabg">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header">
<dl>
<dd><strong>{L_RANDOM_ADS}</strong></dd>
</dl>
</li>
</ul>
<ul class="topiclist forums">
<!-- BEGIN rand_ad -->
<li class="row bg2 classifieds_block" <!-- IF rand_ad.S_LAST_ROW and rand_ad.S_ROW_COUNT is even -->style="width:100%;"<!-- ENDIF -->>
<dl>
<dd>
<div class="cl_thumb">
<!-- IF rand_ad.THUMB -->
<img src="{rand_ad.THUMB}" alt="{rand_ad.TITLE}" />
<!-- ELSE -->
<img src="{ROOT_PATH}/buysell/images/noimage.gif" alt="{rand_ad.TITLE}" />
<!-- ENDIF -->
</div>
<div class="cl_desc">
<a href="{rand_ad.AD_LINK}"><b>{rand_ad.AD_TITLE}</b></a><br />
{L_IN} <b>{rand_ad.CATEGORY}</b><br />
<b>{L_PRICE}</b>: {rand_ad.AD_PRICE} <i>{L_BY}</i> {rand_ad.AD_POSTER}
</div>
</dd>
</dl>
</li>
<!-- END rand_ad -->
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
Abspeichern und in den Ordner template/portal/modules ablegen.
Anschließend aktualisierst du deinen Template- und Theme-Cache und löschst im Karteireiter Allgemein den normalen Forencache.
Gehe in dein Portal und schaue dir an, ob dir diese Position gefällt.
Wenn du nun mehrere Inserate parallel angezeigt haben möchtest, bietet es sich an, in der
classifieds.css
den Wert des
Code: Alles auswählen
/* classifieds_random_ads_block.html and classifieds_recent_ads_block.html */
.classifieds_block {
width: 50%;
float: left;
}
auf 50% zu belassen. Dadurch werden zwei Anzeigen nebeneinander angezeigt und bestenfalls immer Paarweise
- > also im ACP den Karteireiter auf 2 / 4 / 6 / 8 / 10 Inserate in der Ansichtsverwaltung stellen.
Insofern du eine spezielle Position haben möchtest, schreib bitte mit Angabe deines Templates (prosilver-basiert) auf, wo du diesen genau platziert haben möchtest.
Gruß