1. Приветствуем Вас на нашем закрытом форуме для складчиков сайта cmsheaven.org. Если Вы частный вебмастер, фрилансер, владелец малого или среднего бизнеса, представитель студии по разработке сайтов - будем рады видеть Вас в наших рядах экономных людей.
    Регистрация на форуме возможна только после вступления в складчину

Komento + Dj classifieds

Тема в разделе "Вопросы по расширениям Joomla [тех. поддержка]", создана пользователем Bess, 16 июн 2015.

Статус темы:
Закрыта.
  1. Bess

    Bess Опытный складчик

    Регистрация:
    16 окт 2014
    Сообщения:
    126
    Симпатии:
    21
    Господа, возникла проблема с этими компонентами, при установленном dj classifieds, вкладка "интеграция" Komento в админке не работает (пустая страница), так же перестают работать модули Komento, соответственно никакой интеграцией комментариев в Dj classified не пахнет, хотя опция в компоненте присутствует...
    Если кто сталкивался с этой проблемой, подскажите пути решения, буду очень благодарен.
    #1
  2. zagigin84

    zagigin84 Матерый складчик

    Регистрация:
    11 мар 2015
    Сообщения:
    304
    Симпатии:
    37
    может плагин какой не включил?
    #2
  3. Bess

    Bess Опытный складчик

    Регистрация:
    16 окт 2014
    Сообщения:
    126
    Симпатии:
    21
    Плагины все проверил, нет реакции, уже гуглил, почти нет информации по такому случаю..(
    #3
  4. zagigin84

    zagigin84 Матерый складчик

    Регистрация:
    11 мар 2015
    Сообщения:
    304
    Симпатии:
    37
    в настройках dj во вклалке оформление включил компонент коменто?
    #4
  5. Bess

    Bess Опытный складчик

    Регистрация:
    16 окт 2014
    Сообщения:
    126
    Симпатии:
    21
    включал, но дело не в этом, в админке Komento не открывается раздел "интеграция" после установки dj, а там все основные настройки компонента
    ...а модули все вот в таком виде:
    [​IMG]
    #5
  6. Bess

    Bess Опытный складчик

    Регистрация:
    16 окт 2014
    Сообщения:
    126
    Симпатии:
    21
    Это код плагина в dj, из за которого собственно и происходит проблема
    имя ему "komento_plugin.php"
    но так как я в PHP "подай патроны", то прошу указать на ошибку в коде, сам не осилю...

    Код:
    <?php
    /**
    * @version $Id: komento_plugin.php 282 2014-06-09 08:22:41Z michal $
    * @package DJ-Catalog2
    * @copyright Copyright (C) 2012 DJ-Extensions.com LTD, All rights reserved.
    * @license http://www.gnu.org/licenses GNU/GPL
    * @author url: http://dj-extensions.com
    * @author email contact@dj-extensions.com
    * @developer Michal Olczyk - michal.olczyk@design-joomla.eu
    *
    * DJ-Catalog2 is free software: you can redistribute it and/or modify
    * it under the terms of the GNU General Public License as published by
    * the Free Software Foundation, either version 3 of the License, or
    * (at your option) any later version.
    *
    * DJ-Catalog2 is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    * GNU General Public License for more details.
    *
    * You should have received a copy of the GNU General Public License
    * along with DJ-Catalog2. If not, see <http://www.gnu.org/licenses/>.
    *
    */
    
    defined ('_JEXEC') or die('Restricted access');
    if(!defined("DS")){ define('DS',DIRECTORY_SEPARATOR);}
    require_once(JPATH_BASE.DS.'administrator'.DS.'components'.DS.'com_djclassifieds'.DS.'lib'.DS.'djseo.php');
    
    class KomentoComDjclassifieds extends KomentoExtension
    {
        public $_item;
        public $_map = array(
            'id'            => 'id',
            'title'            => 'name',
            'hits'            => 'hits',
            'created_by'    => 'created_by',
            'catid'            => 'cat_id'
            );
    
        private $_currentTrigger = '';
    
        public function __construct( $component )
        {
            //$this->addFile( JPATH_ROOT .'administrator'. DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_djclassifieds' . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR .'djseo.php' );
    
            parent::__construct( $component );
        }
    
        public function load( $cid )
        {
            static $instances = array();
    
            if( !isset( $instances[$cid] ) )
            {
                $db        = Komento::getDBO();
                $query    = 'SELECT a.*, c.alias AS category_alias'
                        . ' FROM ' . $db->nameQuote( '#__djcf_items' ) . ' AS a'
                        . ' LEFT JOIN ' . $db->nameQuote( '#__djcf_categories')  . ' AS c ON c.id = a.cat_id'
                        . ' WHERE a.id' . '=' . $db->quote($cid);
                $db->setQuery( $query );
    
                if( !$this->_item = $db->loadObject() )
                {
                    return $this->onLoadArticleError( $cid );
                }
    
                $instances[$cid] = $this->_item;
            }
    
            $this->_item = $instances[$cid];
    
            return $this;
        }
    
        public function getContentIds( $categories = '' )
        {
            $db        = Komento::getDBO();
            $query = '';
    
            if( empty( $categories ) )
            {
                $query = 'SELECT `id` FROM ' . $db->nameQuote( '#__djcf_items' ) . ' ORDER BY `id`';
            }
            else
            {
                if( is_array( $categories ) )
                {
                    $categories = implode( ',', $categories );
                }
    
                $query = 'SELECT DISTINCT `id` FROM ' . $db->nameQuote( '#__djcf_items' ) . ' WHERE `cat_id` IN (' . $categories . ') ORDER BY `id`';
            }
    
            $db->setQuery( $query );
            return $db->loadResultArray();
        }
    
        public function getCategories()
        {
            $db        = Komento::getDBO();
            $query    = 'SELECT a.id, a.name AS title, a.parent_id, a.name, a.parent_id as parent'
                    . ' FROM `#__djcf_categories` AS a'
                    . ' WHERE a.published = 1'
                    . ' ORDER BY a.ordering';
            $db->setQuery( $query );
            $categories    = $db->loadObjectList();
    
            $children = array();
    
            foreach ($categories as $row)
            {
                $pt        = $row->parent_id;
                $list    = @$children[$pt] ? $children[$pt] : array();
                $list[] = $row;
                $children[$pt] = $list;
            }
    
            $categories    = JHTML::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0);
    
            return $categories;
        }
    
        public function isListingView()
        {
            return false;
        }
    
        public function isEntryView()
        {
            return ( $this->_currentTrigger == 'onDJClassifiedsItem' ) ? true : false;
        }
    
        public function onExecute( &$article, $html, $view, $options = array() )
        {
            if( $options['trigger'] == 'onDJClassifiedsItem' )
            {
                $model    = Komento::getModel( 'comments' );
                $count    = $model->getCount( $this->component, $this->getContentId() );
                $article->numOfComments = $count;
    
                return $html;
            }
        }
    
    
        public function getEventTrigger()
        {
            return array( 'onDJClassifiedsItem');
        }
    
        public function getContext()
        {
            return array( 'com_djclassifieds.item');
        }
    
        public function getAuthorName()
        {
            return $this->_item->author ? $this->_item->author : null;
        }
    
        /*
        public function getCommentAnchorId()
        {
            return '';
        }*/
    
        public function onBeforeLoad( $eventTrigger, $context, &$article, &$params, &$page, &$options )
        {
            if( !$params instanceof JRegistry )
            {
                return false;
            }
    
            $this->_currentTrigger = $eventTrigger;
    
            return true;
        }
    
        public function onParameterDisabled( $eventTrigger, $context, &$article, &$params, &$page, &$options )
        {
            $params->set( 'comments', 0 );
            return false;
        }
    
        public function getContentPermalink()
        {
           
            $link = DJClassifiedsSEO::getItemRoute($this->_item->id.':'.urlencode($this->_item->alias), $this->_item->cat_id.':'.urlencode($this->_item->category_alias));
            if( JFactory::getApplication()->isSite() ){
                $link = urldecode(JRoute::_($link));
            }
            $link = $this->prepareLink( $link );
            return $link;
        }
        public function getComponentName() {
            return 'DJ-Classifieds';
        }
        public function getComponentIcon() {
            return JURI::root(true).'/components/com_djclassifieds/assets/images/djcf_icon.png';
        }
    }
    
    #6
  7. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    я конечно понимаю что правила написаны для всех кроме вас, но вы для приличия не могли бы их прочитать и предоставить необходимый минимум информации для решения вашей ошибки? - в каждом третьем топике приходится писать взрослым людям давайте экономить время друг друга, не гадайте на кофейной гуще просто напишите то что от вас требуется в правилах... белый экран это ошибка php если включить отображение ошибок для разработчика в настройках сайта вместо белого экрана будет текст ошибки который поможет понять что работает не так...

    почему вы решили кусок кода который вы скинули имеет какое бы то ни было отношение к ошибке?
    #7
  8. Bess

    Bess Опытный складчик

    Регистрация:
    16 окт 2014
    Сообщения:
    126
    Симпатии:
    21
    я честно говоря сложно представляю, какую еще информацию нужно предоставить, не судите строго)
    по ошибке, нет никакого белого экрана, я же объясняю, что в админке, в настройках компонента, при клике на пункте "интеграция" просто повисает пустая страница, фаербаг молчит, ошибки для разработчика как применить в этом случае?
    кусок кода, это код плагина для интеграции комментариев от Komento в Dj, удаляя который, все начинает работать, сделал логичный вывод, что проблема именно в этом плагине, скудные результаты гугла это косвенно подтверждают, но что именно поправить я не соображу...
    #8
  9. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    прочитайте пожалуйста правила раздела - там все написано http://forum.cmsheaven.org/threads/692/
    в добавок я вам написал включите отображение ошибок для разработчика в общих настройках сайта на вкладке сервер

    причем здесь фаербаг - ошибка php - ошибка есть в логах - если вы не можете открыть логи то включите отображение ошибок и ошибка будет на экране.......

    в правилах написано что мне нужно - версия php и мин информация про сборку - вы вообще ничего не написали и теперь пишите что не представляете что еще можно напиать.... напишите хоть что-нибудь из правил
    #9
  10. Bess

    Bess Опытный складчик

    Регистрация:
    16 окт 2014
    Сообщения:
    126
    Симпатии:
    21
    Joomla 3.4
    PHP 5.5
    все сделал, как вы сказали, код ошибки:
    Код:
    Warning: require_once(/home/t/tfb7903/jom.kavarnalife.com/public_html/administrator/administrator/components/com_djclassifieds/lib/djseo.php): failed to open stream: No such file or directory in /home/t/tfb7903/jom.kavarnalife.com/public_html/components/com_djclassifieds/komento_plugin.php on line 28 Fatal error: require_once(): Failed opening required '/home/t/tfb7903/jom.kavarnalife.com/public_html/administrator/administrator/components/com_djclassifieds/lib/djseo.php' (include_path='.:/usr/share/php') in /home/t/tfb7903/jom.kavarnalife.com/public_html/components/com_djclassifieds/komento_plugin.php on line 28 
    #10
  11. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    в /components/com_djclassifieds/komento_plugin.php на строчке 28 нужно заменить
    require_once(JPATH_BASE.DS.'administrator'.DS.'components'.DS.'com_djclassifieds'.DS.'lib'.DS.'djseo.php');
    на
    require_once(JPATH_BASE.'/components/com_djclassifieds/lib/djseo.php');
    или просто можно закомментировать эту строчку...

    неужели так сложно было прочитать и написать сразу? нет нужно было выдумывать гадать и писать какие-то домыслы непонятно на чем основанные
    #11
    modern.po нравится это.
  12. Bess

    Bess Опытный складчик

    Регистрация:
    16 окт 2014
    Сообщения:
    126
    Симпатии:
    21
    прошу прощения, учту на будущее)
    все заработало, спасибо огромное, вы лучшие!
    #12
Статус темы:
Закрыта.