Перейти к содержанию
Официальный форум поддержки Simpla

Создание нового шаблона


Перейти к решению Решено yr4ik,

Рекомендуемые сообщения

По моему это вроде все как не слабый баг...

 

Я попробовал чуть поправить метод Марта.

Вместо

$settings = $this->settings;
$settings->theme = $this->get_theme();
$this->design->assign('settings', $settings);

вставляю

$settings = new stdclass();	
foreach($this->settings as $k => $v ) 
	$settings->$k=$v;
$settings->theme = $this->get_theme();
$this->design->assign('settings', $settings);

Вроде бы работает. Выбор шаблона пользователем на витрине и выбор шаблона по умолчанию в админке друг на друга не влияют...

Ссылка на сообщение
Поделиться на другие сайты

Я попробовал чуть поправить метод Марта.

Вместо

$settings = $this->settings;
$settings->theme = $this->get_theme();
$this->design->assign('settings', $settings);

вставляю
$settings = new stdclass();	
foreach($this->settings as $k => $v ) 
	$settings->$k=$v;
$settings->theme = $this->get_theme();
$this->design->assign('settings', $settings);

Вроде бы работает. Выбор шаблона пользователем на витрине и выбор шаблона по умолчанию в админке друг на друга не влияют...
Инструкция не полная...
Ссылка на сообщение
Поделиться на другие сайты

Инструкция не полная...

 

1. Замечание правильное. Действительно, не полная.

2. А зачем ей быть полной? Кому надо, тот поймет. 

3. А если вдруг кому-то "с большими скилами" нужна непременно полная инструкция и он не понял, что для этого надо творчески поработать с данным дополнением и инструкцией Марта вместе, то может написать подробнее о том, что ему не понятно - попробуем растолковать.

4. А так - кто знает, чего некоторым знатокам не хватает... Может, им опять break подавай, как в теме

http://forum.simplacms.ru/topic/6179-%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8E-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%BF%D1%80%D0%B8-%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%B5-%D0%B1%D1%80/page-2

Ссылка на сообщение
Поделиться на другие сайты

Рекомендую вам прочитать все ответы. В теме куча решений на любой вкус — от дилетантских до заморочных.

Я бы сделал так (это по-дилетантски):

if($_SESSION['admin'])	$theme = 'new';else	$theme = 'old';$this->settings->theme = $theme;
Но правильнее однозначно решение, которое предлагает yr4ik.
Не отрабатывает ваше решение. Все равно по умолчанию тема и для админа и для обычного юзера

 

 

upd. сработало. Надо было просто после, как вы указали в своем первом посте.

Изменено пользователем Consult
Ссылка на сообщение
Поделиться на другие сайты

Я попробовал чуть поправить метод Марта.

Вместо

$settings = $this->settings;
$settings->theme = $this->get_theme();
$this->design->assign('settings', $settings);

вставляю

$settings = new stdclass();	
foreach($this->settings as $k => $v ) 
	$settings->$k=$v;
$settings->theme = $this->get_theme();
$this->design->assign('settings', $settings);

Вроде бы работает. Выбор шаблона пользователем на витрине и выбор шаблона по умолчанию в админке друг на друга не влияют...

 

я бы лучше добавил метод в api settings. Что бы тот вернул массив vars

Ссылка на сообщение
Поделиться на другие сайты

я бы лучше добавил метод в api settings. Что бы тот вернул массив vars

 

По-моему, так работать полностью корректно без ошибок не будет.

Интересно проверить, если напишете полный вариант решения.

Ссылка на сообщение
Поделиться на другие сайты

По-моему, так работать полностью корректно без ошибок не будет.

Интересно проверить, если напишете полный вариант решения.

 

Это все будет работать точно так же как и в посте №26. Я лишь предложил сократить бесполезные циклы, заменив их 1 методом в классе settings. А то как это будет работать - обратитесь к автору #26 поста. Что касается ошибок - то да. Они там есть. В частности подобные строки в php 

$this->config->root_dir.'/design/'.$this->settings->theme.'/html'

будут отдавать не то что хотелось бы... 

 

Интересно, что вы подразумеваете под полным вариантом решения? Вам нужно расписать как установить сайт и расписать все действия вплоть до захода на фтп? Или установить его вам и дать доступ к нему? 

 

Как по мне, то довольной полный вариант решения - находится в посте #5. Там присутствует вся необходимая информация для проверки способа. В случае возникновения проблем (решения которых не найдете в этой огромной теме) - можете тут же задать вопрос. Я думаю в ближайшее время вы получите ответ... 

Ссылка на сообщение
Поделиться на другие сайты

Интересно, что вы подразумеваете под полным вариантом решения? Вам нужно расписать как установить сайт и расписать все действия вплоть до захода на фтп? Или установить его вам и дать доступ к нему?

Всего лишь полный список изменений - в каких файлах в каких местах что изменяем...
Ссылка на сообщение
Поделиться на другие сайты

Всего лишь полный список изменений - в каких файлах в каких местах что изменяем...

 

ну там всего 2 места. По 2-3 строчки если учитывать скобки. Что там еще расписывать? 

Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

Вот и распишите те самые два места по 2-3 строчки. Будет быстрее и полезнее, чем дискутировать неизвестно о чем...

Ссылка на сообщение
Поделиться на другие сайты
  • Решение

мдаа... Расписываю (копируйте внимательно и ничего не пропускайте): 
 

В api/settings.php добавляем метод:

public function set_var($name, $value)
{
    $this->vars[$name] = $value;
}

 

api/design.php перед строкой:

$theme = $this->settings->theme;

 

добавляем:

// Если администратор и находимся на витрине
if(!empty($_SESSION['admin']) && substr($_SERVER['PHP_SELF'], 1, 6) !== 'simpla')
    $this->settings->set_var('theme', 'название темы для админа');

 

и все.

 

Если что, то более подробно описано в посте #5 (там еще чуток комментариев есть).

Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

А вообще для общения есть специальные форумы. То я вроде как не толковый словарь и это не форум для знакомств... Большинство сообщений тут рассчитываются на людей с определенным багажом знаний. Так что, не стесняйтесь и давайте уже его открывайте. У меня сейчас очень туго со временем и отвечать на сообщения такого рода - я не желаю. В 5 посте было все предельно ясно расписано. Вы же, не желаете внимательно читать и вникать (в то что там написано), а начинаете в назойливой манере писать мол не точно - уточняйте. Вы как любитель точности - могли бы уже все точно и досконально расписать. То так у вас за пол года (от момента регистрации) уже сообщений почти как у меня за 5 лет. А если их почитать то из точности - там только флуд. Вот он там точно!

Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

Спасибо за подробности, прекрасно все работает.

 

Я немного изменил так, чтоб меньше изменений было:

в api/Settings.php  после

		foreach($this->db->results() as $result)
			if(!($this->vars[$result->name] = @unserialize($result->value)))
				$this->vars[$result->name] = $result->value;

вставить

		if(!empty($_SESSION['admin']) && substr($_SERVER['PHP_SELF'], 1, 6) !== 'simpla')
			$this->vars['theme']='default2';

Вроде бы работает.

Изменено пользователем phukortsin
Ссылка на сообщение
Поделиться на другие сайты

А вообще для общения есть специальные форумы. То я вроде как не толковый словарь и это не форум для знакомств... Большинство сообщений тут рассчитываются на людей с определенным багажом знаний. Так что, не стесняйтесь и давайте уже его открывайте. У меня сейчас очень туго со временем и отвечать на сообщения такого рода - я не желаю. В 5 посте было все предельно ясно расписано. Вы же, не желаете внимательно читать и вникать (в то что там написано), а начинаете в назойливой манере писать мол не точно - уточняйте. Вы как любитель точности - могли бы уже все точно и досконально расписать. То так у вас за пол года (от момента регистрации) уже сообщений почти как у меня за 5 лет. А если их почитать то из точности - там только флуд. Вот он там точно!

 

У каждого свой стиль общения. И не стоит навязывать свои представления другим, пусть каждый пишет так, как сочтет нужным и полезным. А Ваши претензии и недовольство не по существу - если что-то не нравится и к тому же  Вы сильно заняты, можете не отвечать, никто не заставляет.

 

По поводу Ваших замечаний по флуду - провел маленький эксперимент.

 

1. Поиск по фразе 'phukortsin спасибо' на форуме дает

Найдено результатов: примерно 283 (за 0.37 сек.)

Вычисляем

Число результатов/Число постов = 283 / 568 = 50%

 

2. Аналогично по фразе

'yr4ik спасибо'

Число результатов/Число постов = 349 / 886 = 40%

 

3. Аналогично по фразе

'noxter спасибо'

Число результатов/Число постов = 1550 / 6799 = 23%

 

Опыт простенький, ни на что не претендует, но все-таки некое представление дает...

Ссылка на сообщение
Поделиться на другие сайты

Если вставляю это

		// Берем тему из настроек
		$theme = $this->settings->theme;
		
		if($_SESSION['admin'])
			$theme = 'NEW';
		else
			$theme = 'old';

Сайт падает с ошибкой 500. Невозможно обработать запрос 

Ссылка на сообщение
Поделиться на другие сайты

мдаа... Расписываю (копируйте внимательно и ничего не пропускайте): 

 

 

Если что, то более подробно описано в посте #5 (там еще чуток комментариев есть).

Спасибо, все робит

Ссылка на сообщение
Поделиться на другие сайты

У каждого свой стиль общения. И не стоит навязывать свои представления другим, пусть каждый пишет так, как сочтет нужным и полезным. А Ваши претензии и недовольство не по существу - если что-то не нравится и к тому же  Вы сильно заняты, можете не отвечать, никто не заставляет.

 

По поводу Ваших замечаний по флуду - провел маленький эксперимент.

 

1. Поиск по фразе 'phukortsin спасибо' на форуме дает

Найдено результатов: примерно 283 (за 0.37 сек.)

Вычисляем

Число результатов/Число постов = 283 / 568 = 50%

 

2. Аналогично по фразе

'yr4ik спасибо'

Число результатов/Число постов = 349 / 886 = 40%

 

3. Аналогично по фразе

'noxter спасибо'

Число результатов/Число постов = 1550 / 6799 = 23%

 

Опыт простенький, ни на что не претендует, но все-таки некое представление дает...

 

я не спорю что у каждого свой стиль. Но ваша манера, как у человека который зарабатывает на этом - вызывает у многих негатив. А вам, если не отвечать, то можно через некоторое время получать сообщения мол писал и в итоге не отвечает (примеры есть на форуме)...

 

что касается проведенного соц-опроса - то он сильно не точный.

Так как вами, проделанный поиск, производился без кавычек. И сообщения вида "phukortsin привет" с последующим сообщением "Админ спасибо что удалили сообщение" - даст +1 на искомую вами фразу. 

 

поэтому пересчитайте пожалуйста хотя бы по такой формуле:

("НИК спасибо") + ("спасибо НИК") = результат !!!! обязательно с кавычками "

я почти уверен что сотен спасибо - там не будет... Это вы явно загнули.

Скорее там десятком двумя измерить можно будет.

Если не сложно - то результаты опубликуйте

Ссылка на сообщение
Поделиться на другие сайты

что касается проведенного соц-опроса - то он сильно не точный.

 

Во первых, это не соц-опрос. Во вторых, никто не утверждал, что точный. Даже, наоборот, было явно сказано, что результаты ни на что не претендуют - просто информация к сведению.

 

Если у Вас есть желание и возможности продолжать тему, то и проводите поиски по своей методике и выкладывайте конкретные  результаты. Думаю, будет интересно ознакомиться не только мне. Вопрос весьма обширный, сложный и интересный...

 

Изменено пользователем phukortsin
Ссылка на сообщение
Поделиться на другие сайты

 

Во первых, это не соц-опрос. Во вторых, никто не утверждал, что точный. Даже, наоборот, было явно сказано, что результаты ни на что не претендуют - просто информация к сведению.

 

Если у Вас есть желание и возможности продолжать тему, то и проводите поиски по своей методике и выкладывайте конкретные  результаты. Думаю, будет интересно ознакомиться не только мне. Вопрос весьма обширный, сложный и интересный...

 

 
Про соц-опрос - это был сарказм. И конкретной точности тут - никаким способом не достичь. Но то как вы это считали - абсурд, со стороны которого вы и получили 50%. Поскольку пишите почти в каждой теме, а упоминание слова "спасибо" - тут довольно часто можно встретить даже у постах ТС "Заранее спасибо за помощь". На эту же методику вы соизволили потратить время, а но подсчет конкретной фразы сколько же вам сказали спасибо - не хотите. Ну это ваше право. 
Ссылка на сообщение
Поделиться на другие сайты

И конкретной точности тут - никаким способом не достичь.

 

Ломитесь в открытую дверь? Ведь было сказано в самом начале:

 

Опыт простенький, ни на что не претендует...

Ссылка на сообщение
Поделиться на другие сайты

Ломитесь в открытую дверь? Ведь было сказано в самом начале:

 

Никуда я не ломлюсь. Вы просто свои же фразы цитируете частями что немного искажает картину. Вот вы писали так: 

 

 

Опыт простенький, ни на что не претендует, но все-таки некое представление дает...

 

но все-таки некое представление дает. Как по мне оно дает представление, но никак не в стороны объективности, а в упрек тому что я писал. Мол я не прав и сотни ваших постов (которых я назвал флудом) были очень полезны. 

Ссылка на сообщение
Поделиться на другие сайты

оно дает представление, но никак не в стороны объективности, а в упрек тому что я писал. Мол я не прав и сотни ваших постов (которых я назвал флудом) были очень полезны.

 

Вы правильно поняли, именно это и имелось в виду.

Вот именно общие рассуждения про "сотни ваших постов" сразу и если пустая болтовня и флуд. Потому как посты все разные.  А если желаете рассуждать на тему, надо бы не общими фразами типа "сотни ваших постов я назвал флудом", а приводите Ваши сотни точных конкретных примеры. Вот тогда и будет у Вас "со стороны объективности"...

 

А насчет полезности - вопрос очень спорный, неоднозначный и индидуальный. Например, свежая тема:

http://forum.simplacms.ru/topic/13843-как-сделать-автоматическую-скидку-10-в-корзине/

Там ТС быстро получил ответ на интересовавший его вопрос, ему было актуально. А для Вас решение той темы наверняка совсем не полезно, у Вас такой задачи нет, а если и возникнет, Вы сами ее сможете решить за пару минут.

 

Поэтому опять-таки, хотите рассуждать про полезность - приводите точные примеры, разбирайте сотни постов и по каждому анализируйте полезность. Когда закончите - возникнет аналогичный вопрос по другим участникам, тоже интересно. Кому делать нечего, занятость на долгое время обеспечена...

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...