Modul Entwicklung

Hallo zusammen,

OXID wurde mir durch Bekannten empfohlen, so versuche mich jetzt mit Modulentwicklung zu beschäftigen.

Leider schon am Anfang Oxid-System schmeisst sehr viele Fehler raus…

[B]Problematik:[/B]
Ich wollte am Anfang oxview erweitern um immer an gleiche Funktionen zugreifen zu können.
zB:

  • Top x Artikel
  • Neuste X Reduzierte Artikel
  • Artikel aus Kategorie X

Leider oxview => modul/datei hat nicht geklappt. So erweitere ich erstmal Startseite, da wo dieser Modul zu Einsatz kommen soll.

[B]Aktuelle metadata.php:[/B]

$aModule = array(
‘id’ => ‘test’,
‘title’ => ‘t’,
‘description’ => ‘Test Module.’,
‘thumbnail’ => ‘picture.png’,
‘version’ => ‘1.0’,
‘author’ => ‘test’,
‘extend’ => array(
‘start’ => ‘test/test’
)
);

[B]test.php:[/B]

class Test extends Test_parent
{

public function testme()
{
	return 'This is a Test';
}

}

[B]Funktion Aufruf[/B]
tpl/page/shop/start.tpl

[{$oView->testme()}]

[B]Der Fehler[/B]

#0 /mnt/hgfs/vhosts/oxid/core/oxarticle.php(3614): oxSuperCfg->__call(‘selectString’, Array)<br />
#1 /mnt/hgfs/vhosts/oxid/core/oxarticle.php(3614): Test->selectString(‘select * from o…’)<br />
#2 /mnt/hgfs/vhosts/oxid/core/oxarticle.php(3139): oxArticle->_getAmountPriceList()<br />
#3 /mnt/hgfs/vhosts/oxid/core/oxarticle.php(1804): oxArticle->_getAmountPrice(1)<br />
#4 /mnt/hgfs/vhosts/oxid/core/oxarticle.php(1830): oxArticle->getBasePrice(1)<br />
#5 /mnt/hgfs/vhosts/oxid/tmp/0924138dd63d02bc435fbb4a182fb32d^%%CB^CB6^CB6C1C15%%listitem_infogrid.tpl.php(83): oxArticle->getPrice()<br />
#6 /mnt/hgfs/vhosts/oxid/core/smarty/Smarty.class.php(1869): include(’/mnt/hgfs/vhost…’)<br />
#7 /mnt/hgfs/vhosts/oxid/tmp/0924138dd63d02bc435fbb4a182fb32d^%%FC^FCA^FCA347E9%%list.tpl.php(44): Smarty->_smarty_include(Array)<br />
#8 /mnt/hgfs/vhosts/oxid/core/smarty/Smarty.class.php(1869): include(’/mnt/hgfs/vhost…’)<br />
#9 /mnt/hgfs/vhosts/oxid/tmp/0924138dd63d02bc435fbb4a182fb32d^%%40^405^405277AF%%start.tpl.php(57): Smarty->_smarty_include(Array)<br />
#10 /mnt/hgfs/vhosts/oxid/core/smarty/Smarty.class.php(1263): include(’/mnt/hgfs/vhost…’)<br />
#11 /mnt/hgfs/vhosts/oxid/views/oxshopcontrol.php(446): Smarty->fetch(‘page/shop/start…’, ‘ox|0|0|1|0’)<br />
#12 /mnt/hgfs/vhosts/oxid/views/oxshopcontrol.php(317): oxShopControl->_render(Object(Test))<br />
#13 /mnt/hgfs/vhosts/oxid/views/oxshopcontrol.php(114): oxShopControl->_process(‘start’, NULL)<br />
#14 /mnt/hgfs/vhosts/mypremierdeadsea.com/modules/NfqBanklink/Extends/oxShopControl.php(64): oxShopControl->start()<br />
#15 /mnt/hgfs/vhosts/oxid/index.php(99): NfqBanklink_Extends_oxShopControl->start()<br />
#16 {main};

[B]Kurzfristige Prolemlosung[/B]

Mit magic call ist Problem gelost, aber so ist es doch nicht sauber und entspricht MVC nicht …

class Test extends Test_parent
{

public function testme()
{
	return 'This is a Test';
}

public function __call($method, $args)
{
	
}

}

Ist lang und Verwirrend, hoffentlich jemand versteht was ich meine :wink:

Vielen Dank für nützliche Hinweise!

Helo and welcome to the OXID community.

like in all other forums, we have a general rule: 1 Person + 1 Problem = 1 Thread.
another rule is: use the english language in the international forum.

Your module works. There must be another problem.
metadata.php and test.php have to start with a php opening tag:with:

<?php

but do not close php at the end of the file

<?php
class Test extends Test_parent
{

	public function testme()
	{
		return 'This is a Test';
	}
}
<?php
$aModule = array(
		'id' => 'test',
		'title' => 't',
		'description' => 'Test Module.',
		'thumbnail' => 'picture.png',
		'version' => '1.0',
		'author' => 'test',
		'extend' => array(
				'start' => 'test/test'
		)
);

Thank you for response.

I noticed that i wrote in wrong forum. Unfortunately there is no option to close/remove topic.