Что сделать с AceAdminPanel для того, чтобы она отключалась в мобильном шаблоне

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

Открываем файл: PluginAceadminpanel.class.php в корне плагина и добавляем эти строки ровно там, где они написаны:
class PluginAceadminpanel extends Plugin
{
        
   //* Начало отключения под моб. шаблон

    public function __construct() {      
          if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {
            // удаляем переопределение шаблонов и классов экшенов
            unset($this->aInherits['action']);
	    unset($this->aInherits['template']);                       
        }
  }
//* Конец отключения под моб. шаблон
	
	private $sPlugin = 'aceadminpanel';

и тут:
public function Init()
    {
        
     //* Начало отключения под моб. шаблон
     if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {return;}
     //* Конец отключения под моб. шаблон
		
		if (preg_match('/^([\d\.]+)([^\d\.].*)$/', ACEADMINPANEL_VERSION, $m)) {


Дальше идем в файл classes/hooks/HookAdmin.class.php и добавляем:
public function RegisterHook()
    {
     
//* начало отключения под моб. шаблон   

     if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {return;}
// следующие строки не будут выполнены, если сработала строка выше (если мобильный шаблон)


//* Конец отключения под моб. шаблон
		
		if (Config::Get('plugin.' . $this->sPlugin . '.skin'))


все, ошибок в работе не выявлено, авторизация и стандартная LS админка в мобильной версии работают.

43 комментария

avatar
это плюс! пригодится.
avatar
а кто -нибудь знает как такое же на логинзу поставить? я столкнулся с тем, что шаб работает (почти весь), только не дает залогинится, т.к. стоит логизна в десктоп версии.
avatar
абсолютно так же. Таким образом отключается любой плагин с поправкой, что если в основном файле плагина функции Init нет или она пустая, то и отключать ее не надо.
avatar
хм, надо будет попробовать. А то у себя мобильную версию так и не смог запустить.
avatar
Сделал как вы написали для LSGallery полет нормальный.
avatar
Проблема отключения плагинов для моб. версии есть только у плагинов ДАО, т.к. у них файл хука закодирован и отменить регистрацию никак нельзя. Но, они вполне неплохо работают в моб. версии и так (если авторизация не работает, попросите у extravert адаптированный файл js и все будет хорошо).

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

Все остальные плагины прекрасно отключаются, если нужно.
  • dsg
  • 0
avatar
может есть список проверенных плагинов, которые работают на мобильном шаблоне (имеется ввиду без всяких отключений)? или таковых нет пока?
avatar
Списка такого я не видел, но плагинов, работающих без проблем целая куча, так что надо смотреть по обстоятельствам. И потом, не забывайте, что даже безпроблемный плагин может быть просто не нужен в моб. версии, а его не отключение ведет за собой замедление загрузки страниц и доп. расход мобильного трафика.

Моб. она на то и моб., чтобы быть максимально легкой.
avatar
Да, согласен. Некоторые плагины действительно будут не к месту на мобильном шаблоне.
А по списку жаль, думал может из тех, которые уже опробованы, народ отпишется.:)
avatar
Несколько часов тестов включения\отключения плагинов через админку дали следующее. Плагины, которые просто работают в моб.шаблоне:
блогконтент+
логинза+ //примечание: логинза не дает войти в моб версию и в принципе смешивает все карты
Disable topics from the blog+
Edit comment+
обратная связь+
Users Grade+
LSGallery+
Мнения+
Native+
АП+
Static page+
Users+
Greeting new user+
Livestreet Profiler Plugin+
Payment+
Hide text+
профессии в профиле+

Плагины, с которыми моб версия не работает (у меня):
FastLS //примечание: субъективно данный плагин действительно немного ускоряет движок.

Кто что вообще думает про последний плагин и про моб.шаблон в частности?
avatar
что касается FastLS, то его нельзя ставить с другими плагинами, т.е. только на чистый двиг и все (psnet об этом много раз говорил), т.к. плагин преобразует sql-запросы и плагины могут их не понимать (глючить). Про реальность сказать ничего не могу, но есть подозрения, что это действительно так (по опыту).

Что касается списка:
работают вообще без проблем

AntiUp
Config Engine
Magic Rule
Static page
Payment
Robots.txt Controller
Search Auto Completer
SEO
Sitemap
User medals
aceBlogExtender



работают не совсем корректно

Компании (Company plugin) (если не отключить стили, нельзя войти в меню)
DAO (отключить нельзя, если не заменить один js-файл не дает авторизоваться)
DAOmarket (отключить нельзя, если не заменить один js-файл не дает авторизоваться)
Purse Plugin (отключить нельзя, если не заменить один js-файл не дает авторизоваться)
avatar
у меня есть еще кучка плагинов, но поскольку они 100% не нужны мне в моб. версии, я их просто выключил для нее и не тестировал даже.
avatar
Сайтов на нашем движке — несколько десятков тысяч по всей Сети. Мобильной версией пользуются несколько сотен человек. Не пора ли нашей небольшой «семье» выпилить отдельный топик и раз и навсегда покончить с выкрутасами шаблона? Ведь раз мы его скачивали — значит он нам нужен. А сейчас выясняется, что больше половины скачавших скромно шаркают ножкой и смущенно бормочут про то что вот мол, не работает то-то и то-то, и сломалось «здеся и тама»?? Да, разработчик дал нам вектор куда копать, но лопаты у всех разные. Может пора уже наонеч собраться и купить на пару-тройку часов экскаватор, м? Я сравнивал комментарии от аВадима в его админке и офф.комментарий к коду отключения плагина от Орта — отсутствие комментариев существенно замедляет понимание сути. И думаю я не один такой.
avatar
так а что тут копать, если по сути все в этом топике написано?
avatar
У вас есть например рецепт отключения фаст лс для моб. версии?
avatar
что касается FastLS, то его нельзя ставить с другими плагинами, т.е. только на чистый двиг и все <...> т.к. плагин преобразует sql-запросы и плагины могут их не понимать (глючить). Про реальность сказать ничего не могу, но есть подозрения, что это действительно так (по опыту).
у меня стоит и он и еще куча плагинов, проблем каких либо не замечал. а вот то что он отрезает мне моб. версию узналось в ходе недавних тестов.
avatar
Я правильно понял, что плагин Fastls можно использовать только на пустом движке, а если установлены другие плагины, то уже нельзя?
да, именно. он калечит данные перед/после отправки в БД (урезает часть запросов до минимально необходимого значения которое адекватно воспринимает чистый ЛС)


Это ответ PSNet на мой вопрос. Поскольку плагин колечит только то, что связано с блогами, топиками и коментами, то и плагины могут пострадать те, которые с ним связаны. У меня наблюдались глюки с AceBlogExtender, когда стоял этот плагин. Снес fastls, глюков нет, но вот кому спасибо: обновлению AceBlogExtender или сносу fastls я так и не понял, решил больше с ним не эксперементировать, раз есть вероятность некорректной работы.

Что касается его отключения для моб. — а прописать
class PluginFastls extends Plugin {

//* Начало отключения под моб. шаблон
     if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {return;}
     //* Конец отключения под моб. шаблон


не помогает? должно помочь…
avatar
Вплотную заниматься мобильным шблоном стал недавно только, так что отпишу по результату, за подсказку спасибо.
avatar
Parse error: syntax error, unexpected T_PUBLIC in /home/site/domains/site.ru/public_html/site/plugins/fastls/PluginFastls.class.php on line 20

вот что вышло при установке хака
avatar
конкретно вот так я изменил файл PluginFastls.class.php:

class PluginFastls extends Plugin {

//* Начало отключения под моб. шаблон

public function __construct() {
//* Начало отключения под моб. шаблон
if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {return;}
//* Конец отключения под моб. шаблон

public $aDelegates = array(
);
avatar
не-не, зачем так?
должно быть так:

class PluginFastls extends Plugin {

//* Начало отключения под моб. шаблон
     if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {return;}
     //* Конец отключения под моб. шаблон<br />
<br />
public $aDelegates = array(
);
avatar
т.е.
public function __construct() { 
не надо ставить
avatar
сделал вот так:

class PluginFastls extends Plugin {
//* Начало отключения под моб. шаблон
if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {return;}
//* Конец отключения под моб. шаблон
public $aDelegates = array(
);

и получил вот это:

Parse error: syntax error, unexpected T_IF, expecting T_FUNCTION in /home/site/domains/site.ru/public_html/site/plugins/fastls/PluginFastls.class.php on line 13
avatar
странно, надо подумать тогда)
avatar
скорее всего проблема в совместимости fastls с другими плагинами. хотя и у меня этот плагин работает без проблем, в том числе и в мобильной версии без отключения.
avatar
то есть мобильная версия не отключает этот плагин, я вас верно понял? 0о
avatar
мобильная версия сама ничего не отключает
avatar
думаю, вопрос и так понятен.
avatar
FastLS в моей сборке стабильно работает и в мобильном, и в стандартном шаблоне. Никаких изменений и отключений в коде плагина не делал. Ошибок нет.
На сегодняшний момент у меня выявился только конфликт плагина мультиязычности l10n с мобильным шаблоном, предложенным методом пока не получается его отключить без последствий… Может кто-то уже разобрался с ним?
avatar
FastLS также стабильно работает и у меня
avatar
значит все сложнее чем я думал.
avatar
вот и про тоже. а у вас лично как реализован этот момент?
avatar
какой? fastls я вообще удалил
avatar
и как у вас с быстродействием? я все таки не совсем понимаю — есть ли смысл в этом плагине или нет вообще никакого?
avatar
быстродействие достигается не им, а APC + memcached + nginx или другими сочетаниями)
avatar
у меня вообще БД в myISAM
avatar
есть ли решение для версии админки 2.0.392?
может кто-то выложить исправленные рабочие файлы?
avatar
Данное решение в aceAdminPanel v.2.0.392 — не работает или я не могу сделать PluginAceadminpanel.class.php, прошу скиньте файл уже с данной модификацией.
avatar
Отключил вообще админку — всё равно не работает авторизация и регистрация, ощущение что у кнопок это действие не прописано.
avatar
Плагин Галерея отключает безусловно, но я могу зайти в mobile, например, на страницу /gallery/create/, а при переходе на определенные страницы, например, /gallery/albums/, ошибка в логах
  • dsv
  • 0
avatar
aceAdminPanel версии 2.0.382. Всё написанное в этом топике привело к «Fatal error: Cannot redeclare PluginAceadminpanel::__construct() in ....../plugins/aceadminpanel/PluginAceadminpanel.class.php on line 84»
Щас буду откатывать. Кто знает, почему не работает?
avatar
В общем выскакивала такая же ошибка, я в PluginAceadminpanel.class.php убрал все после

//* Конец отключения под моб. шаблон, то есть добавил:

class PluginAceadminpanel extends Plugin
{
        
   //* Начало отключения под моб. шаблон

    public function __construct() {      
          if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {
            // удаляем переопределение шаблонов и классов экшенов
            unset($this->aInherits['action']);
	    unset($this->aInherits['template']);                       
        }
  }

и тут:
public function Init()
    {
        
     //* Начало отключения под моб. шаблон
     if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {return;}


И все заработало, включая авторизацию и регистрацию!
Как так вышло — сам не знаю, я в php полный нуб. Чисто случайно удалил часть, попробовал — все заработало =) Если кто знает — подскажите, вдруг я напортачил чего, а потом всплывет?

В общем, надеюсь пригодится кому-нибудь.
avatar
На остальных плагинах данный хук работает. Респект автору!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.