Hallo, ich habe mir ein Widget gebaut, welches in manchen Produkten auftauchen soll.
Dieses Widget beinhaltet eine "externe" suche.
Grober geplanter ablauf:
Leider weiß ich nicht wie ich wieder zu meinem parent controller komme.
Sicherlich könnte ich das ganze mit ajax lösen und die werte mit JS in das entsprechende Feld schreiben, das ist aber nicht wirklich Sinnvoll.
Meine Metadata:
template document_search.tpl
block document_search
der controller / document_search
Wie kann ich erzwingen das ich nach dem klick auf suche, wieder in meinem Produkt, in dem ich die suche gestartet habe, lande. Und dort dann die ergebnisse der suche anzeige?
Dieses Widget beinhaltet eine "externe" suche.
Grober geplanter ablauf:
Quote:
Öffnen des Produktes > Etwas in die Suchbox eingeben > Zurück zum Produkt mit Suchergebnissen. |
Sicherlich könnte ich das ganze mit ajax lösen und die werte mit JS in das entsprechende Feld schreiben, das ist aber nicht wirklich Sinnvoll.
Meine Metadata:
PHP Code:
$aModule = array(
'id' => 'document_search',
'title' => 'Document Search',
'description' => 'Dokumenten Suche in Produkt',
'thumbnail' => '',
'version' => '0.1',
'extend' => array(
),
'files' => array(
'document_search' => 'document_search/controllers/document_search.php',
),
'templates' => array(
'document_search.tpl' => 'document_search/views/document_search.tpl'
),
'blocks' => array(
array('template' => 'page/details/inc/productmain.tpl', 'block' => 'details_productmain_variantselections', 'file' => 'blocks/block_document_search.tpl'),
),
);
PHP Code:
</form> <!-- schließe parent form -->
<form action="[{$oView->getWidgetLink()}]" method="get" style="min-height: 60px; min-width: 60px; background: blue;">
[{$oViewConf->getHiddenSid()}]
[{$oViewConf->getNavFormParams()}]
<input type="hidden" name="cl" value="document_search" />
<input type="hidden" name="fnc" value="search" />
<input type="hidden" name="oxwparent" value="details">
<input type="hidden" name="cnid" value="[{$oView->getCategoryId()}]">
<input type="hidden" name="anid" value="[{if !$oDetailsProduct->oxarticles__oxparentid->value}][{$oDetailsProduct->oxarticles__oxid->value}][{else}][{$oDetailsProduct->oxarticles__oxparentid->value}][{/if}]">
<input type="hidden" name="actcontrol" value="[{$oViewConf->getTopActiveClassName()}]">
<input type="text" name="search" />
<input type="submit" name="name" />
</form>
PHP Code:
[{$smarty.block.parent}]
classname:
[{oxid_include_widget cl="document_search" _parent=$oView->getClassName() nocookie=1 _navurlparams=$oViewConf->getNavUrlParams() _object=$oView->getProduct() anid=$oViewConf->getActArticleId() skipESIforUser=1 }]
PHP Code:
class document_search extends oxWidget
{
protected $_sThisTemplate = 'document_search.tpl';
protected $_aComponentNames = array( 'oxcmp_cur' => 1, 'oxcmp_shop' => 1, 'oxcmp_basket' => 1, 'oxcmp_user' => 1 );
public function render()
{
parent::render();
return $this->_sThisTemplate;
}
public function search()
{
$sSearchQuery = oxConfig::getParameter( 'search' );
echo '<h1> query: ' . $sSearchQuery . '</h1>';
}