0.00
1 читатель, 7 топиков

Исправление ошибки мобильной версии плагина Компании

Пока еще не готова мобильная версия плагина, но уже известно как исправить проблему из-за которой топики компаний открываются с ошибкой.
Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template file 'menu.main.tpl' in 'nav.tpl'' in E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatebase.php:127 Stack trace: #0 E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_template.php(288): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true) #1 E:\www\domains\test\r10\templates\compiled\mobile\071fdd5b85056e33e325611e03241c050a84d9d8.file.nav.tpl.php(54): Smarty_Internal_Template->getSubTemplate('menu.main.tpl', NULL, NULL, NULL, NULL, Array, 0) #2 E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatebase.php(180): content_51168d7642c5b8_26229961(Object(Smarty_Internal_Template)) #3 E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_template.php(288): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true) #4 E:\www\domains\test\r10\templates\compiled\mobile\5274d1dbb4725efda7bc453e43869f54ea5398f9.file.header.tpl.php(201): Smarty_Internal_Template->getSubTemplate('nav.tpl', NULL, NULL, NULL, NULL, Array, 0) #5 E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatebase.php(180): content_51168d76146716_97210804(Object(Smarty_Internal_Template)) #6 E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_template.php(288): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true) #7 E:\www\domains\test\r10\templates\compiled\mobile\c710cafe668729bbd09d441c709278855b551652.file.topic.tpl.php(36): Smarty_Internal_Template->getSubTemplate('header.tpl', NULL, NULL, NULL, NULL, Array, 0) #8 E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatebase.php(180): content_51168d75f1e702_48219556(Object(Smarty_Internal_Template)) #9 E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatebase.php(374): Smarty_Internal_TemplateBase->fetch('E:\www\domains\...', NULL, NULL, NULL, true) #10 E:\www\domains\test\r10\engine\modules\viewer\Viewer.class.php(328): Smarty_Internal_TemplateBase->display('E:\www\domains\...') #11 [internal function]: ModuleViewer->Display('E:\www\domains\...') #12 E:\www\domains\test\r10\engine\classes\Engine.class.php(558): call_user_func_array(Array, Array) #13 E:\www\domains\test\r10\engine\classes\Router.class.php(439): Engine->_CallModule('Viewer_Display', Array) #14 E:\www\domains\test\r10\engine\classes\Router.class.php(137): Router->__call('Viewer_Display', Array) #15 E:\www\domains\test\r10\engine\classes\Router.class.php(137): Router->Viewer_Display('E:\www\domains\...') #16 E:\www\domains\test\r10\engine\classes\Router.class.php(127): Router->Shutdown(false) #17 E:\www\domains\test\r10\index.php(34): Router->Exec() #18 {main} thrown in E:\www\domains\test\r10\engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatebase.php on line 127


Эти изменения я внес в github мобильного шаблона github.com/venticello/lstemplate-mobile/commit/4ada3f5d2a5d6e923b4a629b8a90f16e21a6a5ea подправьте у себя и плагин компании будет работать на мобильной версии.

Дружим плагин "Компании" и NiceURL

При использовании плагина NiceURL топик компании показывается без «шапки» компании, что не очень красиво и удобно.
Чтобы это исправить откройте файл \plugins\niceurl\classes\hooks\HookUrl.class.php
найдите строку
if ($oTopic->getBlog()->getType()=='personal') {

и сделайте конструкцию вида:
if ($oTopic->getBlog()->getType()=='personal') {
   Router::Action($sActionRewrite,$oTopic->getId().'.html',array());
} elseif($oTopic->getBlog()->getType()=='company') {
   Router::Action('company',$oTopic->getBlog()->getUrl(),array('blog',$oTopic->getId().'.html'));
} else {
   Router::Action($sActionRewrite,$oTopic->getBlog()->getUrl(),array($oTopic->getId().'.html'));
}

и все, топики компаний будут отображаться правильно с новыми адресами.

Если у вас ошибки циклической переадресации ссылок, то активируйте плагин NiceURL после плагина компании и все будет работать.

Обновление стран и городов на новый формат

Обновил сайт на версию LS 1.0. При обновлении стран и городов на новый формат 1.0 вышла ошибка:
Notice: Undefined variable: iCityId in /var/www/путь до сайта/plugins/company/classes/modules/company/Company.class.php on line 823

Может я неправильно обновил плагин компании? Надо ли было сделать какой-нибудь sql скрипт по обновлению таблиц?
Тоже самое интересует по плагину работа.

Адаптация для шаблона Social

Понравилась адаптация для плагина для этого шаблона. Понравился и способ вывода компаний и профиль получился очень интересный. Предлагаю подобный стиль сделать дефолтным.
Однако обратил внимание на 2 недочета:
— описание компаний может быть достаточно длинным (зависит от конфига), но на странице
http://.../companies/
длинные описания портят всю картину. На мой взгляд именно на этой странице надо поставить ограничение на количество символов (типа тега cut) но чтобы он вставлялся автоматом, с ссылкой «Подробнее»

— в профиле компании описание обрезается и оно не полное. нет возможности посмотреть полное описание. здесь желательна таже система, чтобы описание компаний было одинаковой длины, но для длинных вставлялся бы тег cut

Как сменить URL с 'company' на любой другой

Если вы решили использовать плагин «Компании» под особый проект возможно потребуется изменить URL на более красиво звучащий, например на 'game'.
Открываем конфиг файл плагина \plugins\company\config\config.php
И меняем настройку:
Config::Set('module.company.prefix', 'company'); 	// префикс для компаний (ссылка в URL)

на
Config::Set('module.company.prefix', 'game'); 	// префикс для компаний (ссылка в URL)

А если требуется еще поменять URL списка компаний, то в конфиг нужно добавить строку, например
Config::Set('router.rewrite.companies', 'games');

и список компаний будет отображаться по адресу сайт.ру/games/

Как подружить плагин "Sitemap" и плагин "Компании"

По умолчанию в плагине sitemap не отображаются топики компаний, чтобы они там отображались необходимо в файле плагина sitemap доработать файл \plugins\sitemap\classes\modules\topic\Topic.class.php
в нем есть функция фильтра которая показывает какие топики нужно отображать в карте сайта:
protected function _getFilterForTopics() {
        return array(
            'blog_type' => array(
                'open', 'personal',
            ),
            'topic_publish' => 1,
        );
    }


нужно в нее добавить блоги типа company, в итоге получится
protected function _getFilterForTopics() {
        return array(
            'blog_type' => array(
                'open', 'personal', 'company',
            ),
            'topic_publish' => 1,
        );
    }

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