1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
<?php
class QuickEditOverviewTooltips implements QuickEditOverviewTooltipsInterface
{
protected $contentView;
protected $db;
public function __construct()
{
$this->db = StaticGXCoreLoader::getDatabaseQueryBuilder();
$this->contentView = MainFactory::create('ContentView');
$this->contentView->set_escape_html(true);
$this->contentView->set_flat_assigns(true);
$this->contentView->set_template_dir(DIR_FS_CATALOG . 'admin/html/content/quick_edit/tooltips/');
}
public function getRowTooltips(QuickEditProductListItem $data)
{
return [
'special_price' => $this->_getSpecials($data),
];
}
protected function _render($templateFile, array $contentArray)
{
$this->contentView->set_content_template($templateFile);
foreach($contentArray as $contentItemKey => $contentItemValue)
{
$this->contentView->set_content_data($contentItemKey, $contentItemValue);
}
return $this->contentView->get_html();
}
protected function _getSpecials(QuickEditProductListItem $data)
{
$expiresDate = $data->getSpecialPriceExpiresDate();
$templateData['specials'] = [
'products_id' => $data->getId(),
'products_price' => $data->getPrice(),
'special_price_id' => $data->getSpecialPriceId(),
'special_price_percentage' => round(abs(($data->getPrice() - $data->getSpecialPrice()) / $data->getPrice()
* 100), 2),
'special_price' => $data->getSpecialPriceId() !== 0 ? $data->getSpecialPrice() : false,
'special_price_expires_date' => $expiresDate !== '01.01.1970' && $expiresDate !== '01.01.1000' ? $expiresDate : '-',
'special_price_quantity' => $data->getSpecialPriceQuantity(),
'special_price_status' => $data->getSpecialPriceStatus() ? 'Aktiv' : 'Inaktiv',
];
return $this->_render('special_price.html', $templateData);
}
}