Я изменяю слайдер оборота модуля в prestashop, чтобы включить возможность показа некоторых слайдов для определенных групп пользователей.
В настоящее время я блокирую восстановление выбранных значений из Revslider BO.
это выздороветь хорошо в XHR вызвать выбранные значения
с другой стороны это PHP, где я не вижу, как это сделать ….
Вот функция, которая вставляет данные слайда.
public function updateSlideFromData($data)
{
$group = $data['params'];
if (strpos($group, 'group_slide_') == true) {
ddd($group);
}
$slideID = RevSliderFunctions::getVal($data, "slideid");
$this->initByID($slideID);
//treat params
$params = RevSliderFunctions::getVal($data, "params");
$params = $this->normalizeParams($params);
//preserve old data that not included in the given data
$params = array_merge($this->params, $params);
//treat layers
$layers = RevSliderFunctions::getVal($data, "layers");
if (gettype($layers) == "string") {
$layersStrip = Tools::stripslashes($layers);
$layersDecoded = Tools::jsonDecode($layersStrip);
if (empty($layersDecoded)) {
$layersDecoded = Tools::jsonDecode($layers);
}
$layers = RevSliderFunctions::convertStdClassToArray($layersDecoded);
}
if (empty($layers) || gettype($layers) != "array") {
$layers = array();
}
$layers = $this->normalizeLayers($layers);
$settings = RevSliderFunctions::getVal($data, "settings");
$arrUpdate = array();
$arrUpdate["layers"] = Tools::jsonEncode($layers);
$arrUpdate["params"] = Tools::jsonEncode($params);
$arrUpdate["settings"] = Tools::jsonEncode($settings);
$this->db->update(RevSliderGlobals::$table_slides, $arrUpdate, array("id" => $this->id));
// RevOperations::updateDynamicCaptions();
}
Я пытаюсь с помощью strpos извлечь только те значения, которые начинаются с group_slide, а затем внедрить в мою базу выбранные значения, разделив их запятыми, например: 16,17,18
Как?
Задача ещё не решена.
Других решений пока нет …