Hallo Zusammen,
Wir nutzen ein Plugin welches von einem ehemaligen Mitarbeiter von uns erstellt wurde.
Diese Plugin liest im Prinzip die Wunschliste aus um daraus ein PDF zu erstellen.
Mein Chef möchte nun aber dass das Plugin den Warenkorb auslist.
Ich dachte ich könne einfach ein paar Variabeln ändern um das hin zu bekommen.
Der Code (Ausschnitt) des Plugins siht so aus:
public function onPostDispatchNote(\Enlight_Event_EventArgs $args)
{
$controller = $args->getSubject();
$sessionId = $controller->Front()->Request()->getCookie('sUniqueID');
if ($controller->Front()->Request()->getActionName() == 'index') {
$view = $controller->View();
$view->assign('sUserData', Shopware()->Modules()->Admin()->sGetUserData());
$view->assign('cookieId', $sessionId);
}
if ($controller->Front()->Request()->getActionName() == 'ajaxAdd') {
$this->saveNoteInfos($sessionId);
}
}
public function saveNoteInfos($sessionId)
{
$db = Shopware()->Db();
$userid = Shopware()->Session()->get('sUserId');
$noteId = $db->fetchOne('SELECT `id` FROM `s_order_notes` WHERE `sUniqueID`=? ORDER BY `datum` DESC LIMIT 1',$sessionId);
if (!$userid) {
$userid = 0;
}
$data = array(
'userid' => $userid,
'noteid' => $noteId,
'sessionid' => $sessionId,
);
$db->insert('qp_note_attributes', $data);
}
leider komme ich da nicht wirklich weiter, die „UniqueID“ gibt es in der „s_order_basket“ ja nicht,
also wollte ich die SessionId auslesen, leider funktioniert das irgendwie nicht, hier mein Ansatz:
public function onPostDispatchNote(\Enlight_Event_EventArgs $args)
{
$controller = $args->getSubject();
$sessionId = Shopware()->Front()->Request()->getSession('key');
if ($controller->Front()->Request()->getActionName() == 'index') {
$view = $controller->View();
$view->assign('sUserData', Shopware()->Modules()->Admin()->sGetUserData());
$view->assign('cookieId', $sessionId);
}
if ($controller->Front()->Request()->getActionName() == 'ajaxAdd') {
$this->saveNoteInfos($sessionId);
}
}
public function saveNoteInfos($sessionId)
{
$db = Shopware()->Db();
$userid = Shopware()->Session()->get('sUserId');
$noteId = 'SELECT `id` FROM `s_order_basket` WHERE `sessionID`=? AND `modus`=1';
if (!$userid) {
$userid = 0;
}
$data = array(
'userid' => $userid,
'noteid' => $noteId,
'sessionid' => $sessionId,
);
$db->insert('qp_basket_attributes', $data);
}
Kann mir jemand auf die Sprünge helfen? wo mein Ansatz falsch ist.
Beste Grüße
Pasi