OXID Community Forum

> German forum > Entwickler > oxarticles.OXID in eigenem Modul
Login
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Thread: oxarticles.OXID in eigenem Modul


Reply
 
Thread Tools Display Modes
#Top   #1  
Old 06-24-2010, 05:38 PM
fx4u fx4u is offline
Junior Member
Join Date: Oct 2008
Posts: 21
fx4u is on a distinguished road
Default oxarticles.OXID in eigenem Modul

Hallo allerseits,

ich taste mich mit gaaanz langsamen Schritten an die Modulprogrammierung ran und habe wahrscheinlich eine recht triviale eine Frage:

Es geht darum, der details.tpl einen weiteren Inhalt (hier das Logo eines Partners) hinzuzufuegen. Dazu benoetige ich fuer mein Modul (das man mit mehr Wissen sicher wesentlich elegenter schreiben koennte) die OXID oder OXARTNUM des aktuell dargestellten Artikels.

PHP Code:
/*
*   Variable in Template [{$product-> getAdd2LongDesc()}])
*   Modulekonfig oxarticle => or_add2longdesc/or_add2longdesc
*/

class or_add2LongDesc extends or_add2LongDesc_parent{

    public function 
getAdd2LongDesc(){

        
$myConfig   $this->getConfig();
        
$sShopUrl   $myConfig->getShopURL();
        
$sShopId    $myConfig->getShopId();

        
$oDb oxDb::getDb();

        
$sQuery "SELECT oxmanufacturers.OXTITLE as manufacturer
                    FROM oxarticles
                    JOIN oxmanufacturers
                    ON oxarticles.OXMANUFACTURERID = oxmanufacturers.OXID
                    WHERE oxarticles.OXARTNUM = '
{$sArtNum}'";

        
//echo $sQuery;
        
$sManufacturer $oDb->getOne($sQuery);
        
$sManufacturer_small strtolower($sManufacturer);

        if(
$sManufacturer == 'Plantronics' || $sManufacturer == 'Snom'){
            return 
"<img src='{$sShopUrl}out/basic/{$sShopId}/img/logo_partner_{$sManufacturer_small}.jpg' />";
        }
    }

Mir fehlt zum Glueck wirklich nur noch $sArtNum - sonst funktioniert soweit alles.

Wie komme ich da ran?

Vielen dank fuer eure Unterstuetzung.

---SNIP---

Jetzt wo ich gerade so drueber nachdenke, koennte ich das natuerlich das ganze auch im Template loesen...aber trotzdem wuerde ich gern meine Frage aufrecht erhalten...

Lieben Gruss
Oliver

Last edited by fx4u; 06-25-2010 at 09:09 AM.
Reply With Quote
#Top   #2  
Old 06-25-2010, 12:05 PM
avenger's Avatar
avenger avenger is offline
Senior Member
Join Date: May 2009
Posts: 2,083
avenger is on a distinguished road
Default Re: oxarticles.OXID in eigenem Modul

Quote:
Originally Posted by fx4u View Post
Hallo allerseits,

ich taste mich mit gaaanz langsamen Schritten an die Modulprogrammierung ran und habe wahrscheinlich eine recht triviale eine Frage:

Es geht darum, der details.tpl einen weiteren Inhalt (hier das Logo eines Partners) hinzuzufuegen. Dazu benoetige ich fuer mein Modul (das man mit mehr Wissen sicher wesentlich elegenter schreiben koennte) die OXID oder OXARTNUM des aktuell dargestellten Artikels.

PHP Code:
/*
*   Variable in Template [{$product-> getAdd2LongDesc()}])
*   Modulekonfig oxarticle => or_add2longdesc/or_add2longdesc
*/

class or_add2LongDesc extends or_add2LongDesc_parent{

    public function 
getAdd2LongDesc(){

        
$myConfig   $this->getConfig();
        
$sShopUrl   $myConfig->getShopURL();
        
$sShopId    $myConfig->getShopId();

        
$oDb oxDb::getDb();

        
$sQuery "SELECT oxmanufacturers.OXTITLE as manufacturer
                    FROM oxarticles
                    JOIN oxmanufacturers
                    ON oxarticles.OXMANUFACTURERID = oxmanufacturers.OXID
                    WHERE oxarticles.OXARTNUM = '
{$sArtNum}'";

        
//echo $sQuery;
        
$sManufacturer $oDb->getOne($sQuery);
        
$sManufacturer_small strtolower($sManufacturer);

        if(
$sManufacturer == 'Plantronics' || $sManufacturer == 'Snom'){
            return 
"<img src='{$sShopUrl}out/basic/{$sShopId}/img/logo_partner_{$sManufacturer_small}.jpg' />";
        }
    }

Mir fehlt zum Glueck wirklich nur noch $sArtNum - sonst funktioniert soweit alles.

Wie komme ich da ran?

Vielen dank fuer eure Unterstuetzung.

---SNIP---

Jetzt wo ich gerade so drueber nachdenke, koennte ich das natuerlich das ganze auch im Template loesen...aber trotzdem wuerde ich gern meine Frage aufrecht erhalten...

Lieben Gruss
Oliver
Ich denke, dass die an "details.tpl" übergebenen Daten auch das "manufacturer"-Objekt enthalten, so dass man die Information daraus entnehmen kann, ohne ein Modul zu schreiben.

Füge mal
Code:
[{debug}]
an den Anfang der "details.tpl" ein, dann gibt Dir Smarty eine Liste aller Objekte und den darin enthaltenen Daten.
__________________


Individuelle und hochwertige OXID 4 Templates und Shop-Erweiterungen gibt es bei http://www.powertemplate.de
  1. Dem Ingeniör ist nichts zu schwör (Daniel Düsentrieb, 1952)
  2. Geht nicht, gibt's nicht.
  3. Was nicht passt, wird passend gemacht
Weitere Informationen zum powertemplate.de Angebotsspektrum unter http://www.shopplaner.de
Reply With Quote
#Top   #3  
Old 06-25-2010, 12:31 PM
fx4u fx4u is offline
Junior Member
Join Date: Oct 2008
Posts: 21
fx4u is on a distinguished road
Default Re: oxarticles.OXID in eigenem Modul

Hallo,

vielen Dank fuer die Antwort - genauso habe ich es jetzt auch umgesetzt:

PHP Code:
[{* Einbindung von Partnerlogos / OR@2010_06_25 *}]
        [{if 
$oManufacturer->oxmanufacturers__oxtitle->value == 'Plantronics'}]
            <
p><img src='[{ $oViewConf->getBaseDir() }]out/basic/2/img/logo_partner_[{$oManufacturer->oxmanufacturers__oxtitle->value|lower}].jpg' /></p>
        [{/if}] 
Trotzdem wuerde ich mich ueber eine Antwort auf meine urspruengliche Frage freuen, denn fuer weitere Module brauche ich das sicher.

Gruesse
Oliver
Reply With Quote
#Top   #4  
Old 06-25-2010, 01:37 PM
Marco Steinhaeuser's Avatar
Marco Steinhaeuser Marco Steinhaeuser is online now
Community Guide @ OXID
Join Date: Oct 2008
Posts: 9,624
Marco Steinhaeuser is on a distinguished road
Default Re: oxarticles.OXID in eigenem Modul

Hallo Oliver,

geh mal auf diese Seite:
http://docu.oxid-esales.com/CE/sourc...n/4.3.2.27884/

tippe "get" in das Suchfeld ein. Wahrscheinlich bist Du dann schlauer

Gruß
__________________
Marco
http://about.me/marco.steinhaeuser

Will ignore unsolicited support requests via PM, email or IM.
Reply With Quote
#Top   #5  
Old 06-25-2010, 03:19 PM
fx4u fx4u is offline
Junior Member
Join Date: Oct 2008
Posts: 21
fx4u is on a distinguished road
Default Re: oxarticles.OXID in eigenem Modul

Hallo Marco,

vielen Dank fuer den Hinweis - sehr interessant, weil ich jetzt wahrscheinlich ohne MySQL-Abfrage direkt z.B. den Hersteller des aktuell geladenen Artikels bekommen koennte.

Allerdings bleibt meine Frage weiterhin bestehen, weil ich leider wohl die richtigen Schritte noch nicht nachvollziehen kann.

Sorry, ich weiss dass das Forum nicht dazu da ist, mir PHP beizubringen aber ich blicks anscheinend mit der Objektorientierung noch nicht.

Ich hangle mich seit Stunden durch den Code des Shops...von Hoelzchen zu Stoeckchen.

Koennte mir vielleicht jemand die wahrscheinlich zwei Zeilen Code verraten, die dazu fuehren, dass meine Klasse funktioniert?

Vielen Dank fuer die Hilfe.

Gruesse
Oliver
Reply With Quote
#Top   #6  
Old 06-30-2010, 11:40 AM
aggrosoft's Avatar
aggrosoft aggrosoft is offline
Senior Member
Join Date: Oct 2008
Location: Sparta
Posts: 1,498
aggrosoft is on a distinguished road
Send a message via Skype™ to aggrosoft
Default Re: oxarticles.OXID in eigenem Modul

Falls du dich fragst wie du an die db Felder eines Objektes kommst das von oxbase abstammt dann für die artikelnummer ungefähr so:

Code:
$sArtNum = $oArticle->oxarticles__oxartnum->value;
Reply With Quote
#Top   #7  
Old 07-06-2010, 03:50 PM
fx4u fx4u is offline
Junior Member
Join Date: Oct 2008
Posts: 21
fx4u is on a distinguished road
Default Re: oxarticles.OXID in eigenem Modul

Hallo,

vielen Dank fuer die Antwort - ich werde es ausprobieren.

Gruesse
Oliver
Reply With Quote
Reply

Bookmarks

Tags
modul, oxarticlesoxid

« Previous Thread | Next Thread »
Thread Tools
Display Modes

Nicht Sichtbar
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
CSM-Seiten in eigenem Template Toto Newbies 3 03-24-2010 06:16 PM
Startseite mit eigenem Design daluga Templates und Design 1 12-29-2009 08:52 PM
Oxid-Funktion überschreiben mit eigenem Modul kathrin-77 Module 2 08-10-2009 11:19 AM
Oxid CE/PE 4.0.0 User Counter Modul / Users Online Modul aggrosoft Module 6 02-27-2009 11:27 PM
Oxid CE/PE 4.0.0 User Counter Modul / Users Online Modul aggrosoft Modules 5 01-29-2009 08:37 AM

All times are GMT +2. The time now is 11:10 AM.