Я делаю сайт, который должен быть доступен как в Wap версии так и WWW версии но с одним контентом
Столкнулся с проблемой как сделать разное оформление для wap и www
Решил сделать так (про такой подход еще не слышал):
делаю 2 копии скриптов форума:
http://www.site.ru/forum
wap.site.ru/forum
Решил подменить значение $config['default_style'] на $config['default_style_wap']
В CONFIG_TABLE добавляю новую строку
config_name config_value is_dynamic
default_style_wap 10 0
где 10 - id установленного мобильного стиля
Изменял только скрипты wap версии
Изменил includes/cache.php:
Код: Выделить всё
function obtain_config()
{
* * *
while ($row = $db->sql_fetchrow($result))
{
// Подменяем
if ($row['config_name']=='default_style')
continue;
if ($row['config_name']=='default_style_wap')
$row['config_name']='default_style';
if (!$row['is_dynamic'])
{
$cached_config[$row['config_name']] = $row['config_value'];
}
$config[$row['config_name']] = $row['config_value'];
}
$db->sql_freeresult($result);
$this->put('config', $cached_config);
}
return $config;
}
Код: Выделить всё
function set_config($config_name, $config_value, $is_dynamic = false)
{
global $db, $cache, $config;
// Подменяем
if ($config_name=='default_style') $config_name=='default_style_wap';
$sql = 'UPDATE ' . CONFIG_TABLE . "
SET config_value = '" . $db->sql_escape($config_value) . "'
WHERE config_name = '" . $db->sql_escape($config_name) . "'";
$db->sql_query($sql);
if (!$db->sql_affectedrows() && !isset($config[$config_name]))
{
$sql = 'INSERT INTO ' . CONFIG_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'config_name' => $config_name,
'config_value' => $config_value,
'is_dynamic' => ($is_dynamic) ? 1 : 0));
$db->sql_query($sql);
}
// Меняем название назад
if ($config_name=='default_style_wap') $config_name=='default_style';
$config[$config_name] = $config_value;
if (!$is_dynamic)
{
$cache->destroy('config');
}
}а для wap только через редактирование строки default_style_wap в CONFIG_TABLE
Собственно вопрос: а как сделать чтобы стиль для Wap версии я мог задавать через админку wap версии?


