Classifieds Mod für Portal

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.

Classifieds Mod für Portal

Beitragvon chakuza_de » 04.08.2011 17:29

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
chakuza_de
Mitglied
 
Beiträge: 43
Registriert: 10.08.2009 21:14

Re: Classifieds Mod für Portal

Beitragvon forza sve » 04.08.2011 23:20

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. :wink:
Version: phpbb 3.1.9
dieschwatten.de/forum
forza sve
Mitglied
 
Beiträge: 247
Registriert: 03.12.2010 15:11

Re: Classifieds Mod für Portal

Beitragvon chakuza_de » 05.08.2011 20:36

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
chakuza_de
Mitglied
 
Beiträge: 43
Registriert: 10.08.2009 21:14

Re: Classifieds Mod für Portal

Beitragvon 7emper5i » 05.08.2011 21:01

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:

Code: Alles auswählen
<!-- INCLUDE portal/block/classifieds.html -->


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="" />&nbsp;<!-- 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:

Code: Alles auswählen
// output page


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
Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Benutzeravatar
7emper5i
Ehemaliger Übersetzer
 
Beiträge: 1473
Registriert: 11.04.2009 12:31
Wohnort: Köln

Re: Classifieds Mod für Portal

Beitragvon chakuza_de » 05.08.2011 21:30

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
chakuza_de
Mitglied
 
Beiträge: 43
Registriert: 10.08.2009 21:14

Re: Classifieds Mod für Portal

Beitragvon 7emper5i » 05.08.2011 21:43

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ß
Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Benutzeravatar
7emper5i
Ehemaliger Übersetzer
 
Beiträge: 1473
Registriert: 11.04.2009 12:31
Wohnort: Köln

Re: Classifieds Mod für Portal

Beitragvon forza sve » 05.08.2011 22:26

@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ß
Version: phpbb 3.1.9
dieschwatten.de/forum
forza sve
Mitglied
 
Beiträge: 247
Registriert: 03.12.2010 15:11

Re: Classifieds Mod für Portal

Beitragvon 7emper5i » 05.08.2011 22:32

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ß
Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Benutzeravatar
7emper5i
Ehemaliger Übersetzer
 
Beiträge: 1473
Registriert: 11.04.2009 12:31
Wohnort: Köln

Re: Classifieds Mod für Portal

Beitragvon forza sve » 05.08.2011 22:41

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.
Version: phpbb 3.1.9
dieschwatten.de/forum
forza sve
Mitglied
 
Beiträge: 247
Registriert: 03.12.2010 15:11

Re: Classifieds Mod für Portal

Beitragvon 7emper5i » 06.08.2011 01:56

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 -->

Code: Alles auswählen
         <!-- INCLUDE portal/modules/classifieds.html -->

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ß
Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Benutzeravatar
7emper5i
Ehemaliger Übersetzer
 
Beiträge: 1473
Registriert: 11.04.2009 12:31
Wohnort: Köln

Nächste

Zurück zu [3.0.x] Mods in Entwicklung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast