@Dotrox Ну, тут дело вкуса. Лучше, чтобы магазин мог работать при необходимости и с отключеными ускорителями, а не пропадали товары в мультимагазинах.
Если руками, то править модели глупо. Лучше добавить в db.php:
$new = $sql;
change($new, "AND p2s.store_id = '*'");
change($new, "AND p2s.store_id = * ");
if (!stripos($new, "p2s.store_id")) {
change($new, " LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (*)");
change($new, " LEFT JOIN `" . DB_PREFIX . "product_to_store` p2s ON (*)");
$sql = $new;
}
function change(&$source, $search, $replace = '') {
if (!strpos($search, '*')) {
$source = str_ireplace($search, $replace, $source);
return;
}
$tokens = explode('*', $search);
if (false === $start = stripos($source, $tokens[0])) return;
if (false === $end = stripos($source, $tokens[1], $start + strlen($tokens[0]))) return;
$source = substr($source, 0, $start) . $replace . substr($source, $end + strlen($tokens[1]));
}
Категории/производители особо не делают погоды по производительности по сравнению с товарами.