Будем сохранять записи в файл, чтобы можно было его в офисном редакторе смотреть.
Будем делать с помощью модуля "Мои изменения".
Способ подойдёт для сохранения любых других действий.
1. Нашли контроллер, который добавляет подписчика, делаем для него pre контроллер, который будет выполнятся перед основным действием.
Создаём файл:
app/addons/my_changes/controllers/frontend/products.pre.php
2. Вставляем код, который будет выполнятся:
<?php
use Tygh\Registry;
if (!defined(‘BOOTSTRAP’)) { die(‘Access denied’); }
if ($mode == ‘product_notifications’) {
// Получим информацию о товаре по id
$product_data = fn_get_product_data($_REQUEST['product_id'] , $_SESSION['auth']);
// Подготовим данные на запись
$data = array(
'product_id' => $_REQUEST['product_id'],
'product_code' => $product_data['product_code'],
'user_id' => $_SESSION['auth']['user_id'],
'email' => (!empty($_SESSION['cart']['user_data']['email']) ? $_SESSION['cart']['user_data']['email'] : (!empty($_REQUEST['email']) ? $_REQUEST['email'] : '')),
'date' => fn_date_format(time(), Registry::get('settings.Appearance.date_format'))
);
// Путь к директории с файлами (var/files/)
$path = fn_get_files_dir_path();
// Создадим папку, если нет.
fn_mkdir($path);
// Название файла в который будем писать.
$file = 'product_notifications.csv';
// Полный путь к файлу
$file = fopen($path . $file, 'a');
// Запишем данные в файл
if (!empty($file)) {
$string = implode(';', $data);
fputs($file, $string . PHP_EOL);
fclose($file);
}
}
3. Включаем модуль "Мои изменения".
4. Подписываемся на несколько товаров.
5. Информация о подписке будет сохранена в файл:
var/files/1/product_notifications.csv
Также будет доступна для скачки
www.site.ru/var/files/1/product_notifications.csv
Посоветуйте, пожалуйста, с чего можно начать?
Решение задачи:
http://forum.cs-cart.com/topic/42076-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B-%D0%BF%D0%BE-%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BA%D0%B5-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D1%8F%D1%82%D1%8C-%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8E/#entry231744