Единственное, появился вопрос, куда делось все остальное
$zerocatename = $settings['zerocatename']; $zerocatesearch = $settings['zerocatesearch']; $zerocatevideos = $settings['zerocatevideos']; $zeronumber = $settings['zeronumber']; $zerosortingresults = $settings['zerosortingresults']; $onecatename = $settings['onecatename']; $onecatesearch = $settings['onecatesearch']; $onecatevideos = $settings['onecatevideos']; $onenumber = $settings['onenumber']; $onesortingresults = $settings['onesortingresults']; и т.д. как об этом узнает скрипт, если ни в одном из конфигов этого нет? Из settings.txt файла?
Где вы используете переменные вида $zerocatename?
Ну как нет? ))) Они в $config, полученные отсюда $config = unserialize(base64_decode($infotxt));
Может я не понимаю, как там у вас устроено и морочу вам голову :))))
Smirnof: Может по тому, что сначала нужно получить-декодировать данные из другого конфига, не знаю :( попробовал $settings['zerocatename']; - вроде не работает. Еще попробую.
Спасибо!
Ну вот, смотрите вы получили $settings = unserialize(base64_decode($infotxt));
затем у вас
$zerocatename = $settings['zerocatename'];
дальше
$config = array(
........
"zerocatename" => $zerocatename,
т.е почему нельзя сразу сделать
$config = array(
........
"zerocatename" => $settings['zerocatename'],
а исходя из этого там, где потом используете $config['zerocatename'] использовать минуя все вышеприведённые манипуляции сразу $settings['zerocatename'] ?
если сразу можно использовать элемент массива $settings['zerocatename'] там, где вы собираетесь использовать $zerocatename ну и т.д. Экономьте ресурсы.
Запись переменных в качестве значений элементов массива не требует кавычек, а сами ключи старайтесь заключать в одинарные кавычки
)))
Ну то есть из settings.txt файла?
В шаблоне, вывожу название категорий
Как по мне, так вы только и понимаете меня :)
А если прописав
$config = unserialize(base64_decode($infotxt))
вместо
$settings = unserialize(base64_decode($infotxt))
и убрав то, на что я указывал
в шаблонах вместо переменных вида
$zerocatename (или $this->zerocatename)
прописать
$config['zerocatename'] (или $this->config['zerocatename']),
то должно работать
Это совсем мне понятно
Единственное, появился вопрос, куда делось все остальное
$zerocatename = $settings['zerocatename'];
$zerocatesearch = $settings['zerocatesearch'];
$zerocatevideos = $settings['zerocatevideos'];
$zeronumber = $settings['zeronumber'];
$zerosortingresults = $settings['zerosortingresults'];
$onecatename = $settings['onecatename'];
$onecatesearch = $settings['onecatesearch'];
$onecatevideos = $settings['onecatevideos'];
$onenumber = $settings['onenumber'];
$onesortingresults = $settings['onesortingresults'];
и т.д.
как об этом узнает скрипт, если ни в одном из конфигов этого нет?
Из settings.txt файла?
Где вы используете переменные вида $zerocatename?
Ну как нет? ))) Они в $config, полученные отсюда $config = unserialize(base64_decode($infotxt));
Может я не понимаю, как там у вас устроено и морочу вам голову :))))
Smirnof, т.е у вас по сути из представленных вами двух файлов должно получится что-то типа этого
[Дублирую ваши комментарии]
Конфиг панели управления setup/config.php выглядит так,
где setting меняем на $config
<?php
if (file_exists($filename)) {
$infotxt = file_get_contents($filename);
$config = unserialize(base64_decode($infotxt));
} else {
echo "The file configuration file is missing. Please run the setup again";
}
?>
Так выглядит конфиг самой "cms"
<?php
$filename="setup/settings.txt";
include ("setup/config.php");
// Server's timezone for more accurate data
"timezone" => "Russia/Moscow",
// Cache Data - If you notice anomalies, disable this. You should enable this when you get high hits
"cache" => TRUE,
// Enable mode_rewrite? e.g. user/login instead of index.php?a=user/login
"mod_rewrite" => TRUE,
// Enable Compression? Makes your website faster
"gzip" => TRUE,
);
// Include core.php
include ('Core.php');
?>
Теперь вроде бы понял.
Т.е. подключать в конфиг "cms" - include ("setup/config.php");
нет нужды в таком случае?
В общем буду все пробовать. Спасибо.
p.s. вообще я позже хотел собрать все в одном конфиг файле, возможно то про что вы говорите это и есть.
Вы его подключаете include ("setup/config.php");
Но из него убираете инициализации переменных
$zerocatename = $settings['zerocatename'];
$zerocatesearch = $settings['zerocatesearch'];
$zerocatevideos = $settings['zerocatevideos'];
$zeronumber = $settings['zeronumber'];
$zerosortingresults = $settings['zerosortingresults'];
$onecatename = $settings['onecatename'];
$onecatesearch = $settings['onecatesearch'];
$onecatevideos = $settings['onecatevideos'];
$onenumber = $settings['onenumber'];
$onesortingresults = $settings['onesortingresults'];
..........
$admin_username = $settings['admin_username'];
$admin_password = $settings['admin_password'];
так как у вас уже всё есть в массиве $settings
дальше в конфиге самой "cms"
исключаете объявление и инициализацию массива
$config = array(
// Your Site URL
"url" => "$url",
..............
ЕЩЕ КОД
..............
//Slider
"zerocatename" => "$zerocatename",
"zerocatesearch" => "$zerocatesearch",
"zerocatevideos" => "$zerocatevideos",
"zeronumber" => "$zeronumber",
"zerosortingresults" => "$zerosortingresults",
//Category Home Page Video
"onecatename" => "$onecatename",
"onecatesearch" => "$onecatesearch",
"onecatevideos" => "$onecatevideos",
"onenumber" => "$onenumber",
так как он по сути дублирует $settings
и поскольку вы затем используете переменную $config, то чтобы не переписывать ниже идущий код - вы просто можете написать
$config=$settings;
..............
ЕЩЕ КОД
..............
// Server's timezone for more accurate data
"timezone" => "Russia/Moscow",
PS. если, конечно, я правильно понял в хитросплетениях файлов.
Просто попробуйте прописать, ничего пока не стирая
$config=$settings;
перед
..............
// Server's timezone for more accurate data
"timezone" => "Russia/Moscow",
и проверьте, будет работать как работало или нет
Может по тому, что сначала нужно получить-декодировать данные из другого конфига, не знаю :(
попробовал $settings['zerocatename']; - вроде не работает.
Еще попробую.
Спасибо!
Ну вот, смотрите вы получили $settings = unserialize(base64_decode($infotxt));
затем у вас
$zerocatename = $settings['zerocatename'];
дальше
$config = array(
........
"zerocatename" => $zerocatename,
т.е почему нельзя сразу сделать
$config = array(
........
"zerocatename" => $settings['zerocatename'],
а исходя из этого там, где потом используете $config['zerocatename'] использовать минуя все вышеприведённые манипуляции сразу $settings['zerocatename'] ?
Ну как в математике, если а=с и в=с, то а=в
Спасибо, буду исправлять.
Я правильно понял, можно использовать
$settings['zerocatename'];
вместо
$zerocatename = $settings['zerocatename']; ?
В таком случае
будет работать?
Спасибо.
Что я увидел
Грубо говоря, у вас
$a = $settings['a'];
$b = $settings['b'];
$c = $settings['c'];
Затем вы делаете
$config = array(
'a'=>$a,
'b'=>$b,
'c'=>$c,
);
В итоге мы по сути получаем $config = $settings;
Так почему сразу не использовать $settings?
Спасибо.
Да, я только учусь.
Ну так, с наскоку, вашу архитектуру не понять :)
Просто несколько замечаний:
Зачем инициализировать столько новых переменных
$zerocatename = $settings['zerocatename'];
$zerocatesearch = $settings['zerocatesearch'];
$zerocatevideos = $settings['zerocatevideos'];
если сразу можно использовать элемент массива $settings['zerocatename'] там, где вы собираетесь использовать $zerocatename ну и т.д. Экономьте ресурсы.
Запись переменных в качестве значений элементов массива не требует кавычек, а сами ключи старайтесь заключать в одинарные кавычки
$config = array(
// Your Site URL
'url' => $url,
//Slider
'zerocatename' => $zerocatename,
'zerocatesearch' => $zerocatesearch,
Ну и пытайтесь осваивать тот же mysql
Как говорится, абы желание и всё получится
Swir, а, понял, по вашему коду понял - ему нужна карта, чтобы из массива брать данные по алиасу, или вроде того.
Отсюда сразу мысли пойти в этот конфиг и научить его выдавать $this->config->catvideos[$name];
Ну ТС только учится и постепено придёт к пониманию от простого к сложному. Как и мы когда-то
используйте тип поля enum
И перед каждой записью в таблицу ALTER TABLE :)
$func=$base_name.'_'.$event_name;
/* и вызываем ее */
$$func();
Если не угадал - расскажите на человеческом языке что означают те самые коды про ютубу.
Из примера ТС переменные переменных не подойдут, ибо всё свелось к одному методу