1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - новый и перспективный форумный движок от бывших создателей vBulletin.

1.1.x Table BBCode

Тема в разделе "Плагины для XenForo", создана пользователем Sidle Jinks, 22 фев 2011.

Загрузка
  1. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Как исправить и где искать?
    Где тут ошибка? Файл Base.php
    PHP:
    <?phpclass Nabeel_Table_BBCode_Formatter_Base extends XFCP_Nabeel_Table_BBCode_Formatter_Base{    private $_colCount;    private $_rowCount;        public function getTags()    {        $this->_tags parent::getTags();        $this->_tags['table'] = array(                'parseCallback' => array($this'parseValidatePlainIfNoOption'),                'callback' => array($this'renderTagTable')            );        return $this->_tags;    }        public function renderTagTable(array $tag, array $rendererStates)    {                //$content = $tag['children'][0];        $content=$this->stringifyTree($tag['children']);        $headerOption = $tag['option'];        $rowCount=0;        $colCount=0;        $tableContent='';        $tableIndex= uniqid('DataTable_');                // remove unnecessary linebreaks        $content = preg_replace('/^\n+|^[\t\s]*\n+/m','',$content);                // remove empty line at the end of the table        $content = preg_replace('#\n$#', '', $content);                        $parser = new XenForo_BbCode_Parser($this);        $content=$parser->render($content);                    // get data rows        $tableData = explode("\n",$content);        $rowCount = count($tableData);                $this->_rowCount = $rowCount;                $cellSeperator = '|';                // split rows into columns        for($i=0;$i<$rowCount;$i++){            $tableData[$i] = explode($cellSeperator, $tableData[$i]);        }                $colCount= count($tableData[0]);        $this->_colCount= $colCount;                        // generate a table        $tableStart='<table cellpadding="0" cellspacing="0" border="0" class="display" id="'.$tableIndex.'">';        $tableEnd='</table>';                $tableHeaderStart='<thead><tr>';        $tableHeaderEnd='</tr></thead>';                $tableHeader = $tableHeaderStart;        $istart=0; // marks the start of the actual table data        if($headerOption=="head")        {            $istart=1;            for($icol=0; $icol<$colCount; $icol++)            {                $tableHeader.='<th>'.$tableData[0][$icol].'</th>';            }        }        else        {            for($icol=0; $icol<$colCount; $icol++)            {                $tableHeader.='<th>Column'.($icol+1).'</th>';            }            $tableHeader.=$tableHeaderEnd;        }                    $tableBodyStart='<tbody>';        $tableBodyEnd='</tbody>';                $tableContent=$tableStart.$tableHeader.$tableBodyStart;                $rowStart='<tr>';        $rowEnd='</tr>';        $cellStart='<td>';        $cellEnd='</td>';        for($irow=$istart; $irow<$rowCount; $irow++)        {            $rowContent=$rowStart;            for($icol=0; $icol<$colCount; $icol++)            {                $rowContent.=$cellStart.$tableData[$irow][$icol].$cellEnd;            }            $rowContent.=$rowEnd;            $tableContent.=$rowContent;        }                $tableContent.=$tableBodyEnd.$tableEnd;                if ($this->_view)        {            $template = $this->_view->createTemplateObject('bb_code_table_dataTable', array(                'content' => $tableContent,                'tableid' =>$tableIndex,            ));            return $template->render();        }        else        {            return '<div>' . $tableContent . 
     
  2. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.453
    Симпатии:
    3.277
    Версия XF:
    1.5.9
    Хм. А переводы строк куда делись?
    После
    Код:
    <?php
    должен быть перевод строки. И со следующей строки должно быть
    Код:
    class...
    и т.д.
    И еще. В конце того, что Вы сюда скопировали, должно быть еще кое-что. Если этого нет, то, вероятно, файл просто некорректно залился, так как отсутствует его конечная часть.
     
  3. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Вот все что там есть
    Код:
    <?php
    class Nabeel_Table_BBCode_Formatter_Base extends XFCP_Nabeel_Table_BBCode_Formatter_Base
    {
    private $_colCount;
    private $_rowCount;
     
        public function getTags()
        {
            $this->_tags = parent::getTags();
    $this->_tags['table'] = array(
                    'parseCallback' => array($this, 'parseValidatePlainIfNoOption'),
                    'callback' => array($this, 'renderTagTable')
                );
            return $this->_tags;
        }
     
    public function renderTagTable(array $tag, array $rendererStates)
        {
    //$content = $tag['children'][0];
    $content=$this->stringifyTree($tag['children']);
    $headerOption = $tag['option'];
    $rowCount=0;
    $colCount=0;
    $tableContent='';
    $tableIndex= uniqid('DataTable_');
     
     
    // remove unnecessary linebreaks
    $content = preg_replace('/^\n+|^[\t\s]*\n+/m','',$content); 
     
    // remove empty line at the end of the table
    $content = preg_replace('#\n$#', '', $content);
     
     
       $parser = new XenForo_BbCode_Parser($this);
    $content=$parser->render($content);
     
    // get data rows
     
    $tableData = explode("\n",$content);
    $rowCount = count($tableData);
     
    $this->_rowCount = $rowCount;
     
    $cellSeperator = '|';
     
    // split rows into columns
       for($i=0;$i<$rowCount;$i++){
    $tableData[$i] = explode($cellSeperator, $tableData[$i]);
    }
     
    $colCount= count($tableData[0]);
    $this->_colCount= $colCount;
     
     
    // generate a table
     
    $tableStart='<table cellpadding="0" cellspacing="0" border="0" class="display" id="'.$tableIndex.'">';
    $tableEnd='</table>';
     
     
    $tableHeaderStart='<thead><tr>';
    $tableHeaderEnd='</tr></thead>';
    $tableHeader = $tableHeaderStart;
    $istart=0; // marks the start of the actual table data
    if($headerOption=="head")
    {
    $istart=1;
    for($icol=0; $icol<$colCount; $icol++)
    {
    $tableHeader.='<th>'.$tableData[0][$icol].'</th>';
    }
    }
    else 
    {
    for($icol=0; $icol<$colCount; $icol++)
    {
    $tableHeader.='<th>Column'.($icol+1).'</th>';
    }
    $tableHeader.=$tableHeaderEnd;
    }
     
    $tableBodyStart='<tbody>';
    $tableBodyEnd='</tbody>';
     
    $tableContent=$tableStart.$tableHeader.$tableBodyStart;
     
    $rowStart='<tr>';
    $rowEnd='</tr>';
    $cellStart='<td>';
    $cellEnd='</td>';
    for($irow=$istart; $irow<$rowCount; $irow++)
    {
    $rowContent=$rowStart;
    for($icol=0; $icol<$colCount; $icol++)
    {
    $rowContent.=$cellStart.$tableData[$irow][$icol].$cellEnd;
    }
    $rowContent.=$rowEnd;
    $tableContent.=$rowContent;
    }
     
    $tableContent.=$tableBodyEnd.$tableEnd;
     
    if ($this->_view)
    {
    $template = $this->_view->createTemplateObject('bb_code_table_dataTable', array(
    'content' => $tableContent,
    'tableid' =>$tableIndex,
    ));
    return $template->render();
    }
    else
    {
    return '<div>' . $tableContent . '</div>';
    }
    }
    }
     
    ?>
    Помогите поднять работоспособность модуля
     
  4. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.453
    Симпатии:
    3.277
    Версия XF:
    1.5.9
    А точно плагина HIDE нет? Потому что код, приведенный Вами, вполне корректный. Если HIDE стоит, то с ним работать не будет.
     
  5. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Вот все что установлено и включено.
    111111.jpg
    Я пробовал все выключить и включить только Table BBCode, история с ошибкой повторилась
     
  6. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.453
    Симпатии:
    3.277
    Версия XF:
    1.5.9
    Мистика какая-то. Вот скачал отсюда и установил данный плагин. Все работает. Даже и не знаю, почему у Вас не работает.
     
  7. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Версия движка какая?
    Пробовал перекачать и пере установить, результата 0
     
  8. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.453
    Симпатии:
    3.277
    Версия XF:
    1.5.9
    Ксен 1.1.3. PHP 5.2.
     
  9. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Ксен 1.1.3. PHP 5.2.17
    Кто нибудь может помочь ?
    на первом форуме Ксен 1.1.1 работает без проблем
    а на Ксен 1.1.3 напрочь отказывается
     
  10. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Блин разобрался, просто когда файл Base.php ушел на сервер, переводы в новую строку пропали
    Теперь новый вопрос: возможно ли перевести вот эти фразы ?
    44.jpg
    55.jpg
     
  11. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.453
    Симпатии:
    3.277
    Версия XF:
    1.5.9
    Я бы посмотрел шаблоны и фразы на этот счет. Неужели нельзя самому попробовать их найти?
    А по некорректному файлу php я ведь сразу писАл. Я понимаю, что проверить это ну очень сложно было, а поэтому пришлось героически искать другие причины.
    Без обид. Но все Ваши вопросы самостоятельно разруливаются буквально за минуты при желании. Соответственно, складывается впечатление, что Вам просто лень самому искать причину. Также и с переводом. Ну ведь элементарно ищутся строки в шаблонах и фразах. Ну еще можно исходник дополнения поковырять - там также все очень просто и быстро ищется...
     
  12. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    я понимаю что тебя напрягает, но форум для этого и есть что люди пишут и проблемы решают и отписывают как решили, чтоб потом человек пришел и почитал а не постил тут.
    Если нет желания подсказать, так перестань следить за темой.
    А насчет перевода я рыл но пока не нашел в каких шаблонах.
     
  13. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.453
    Симпатии:
    3.277
    Версия XF:
    1.5.9
    Ок. Видимо, обиделись. Ну тогда можете игнорировать мои предложения. Я на форуме не кому-то лично помогаю, а стараюсь, чтобы данный форум развивался. Поэтому, пожалуй, послежу еще за темой, если Вы не против.
     
    Romchik®, exarh и TAIFUN нравится это.
  14. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Все таки перевел базовую часть, помогли на другом форуме, объяснили где искать.
    Дело все в файле Table_BBCode\upload\js\jquery\jquery.dataTables.min
    Кому нужен переведенный держите. Переведены и подсказки кнопок.
    111.jpg 222.jpg
    Если есть ошибки или не переведенный текст пишите поправлю.
     

    Вложения:

    vovik1646, infis и TAIFUN нравится это.
  15. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Люди объясните где косяк искать, у меня когда в теме создаешь только таблицу, выше ее создается пустое поле.
    как его убрать
    555.jpg
     
  16. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    Вопрос закрыт, проблема была в самом стиле, искать в файле bb_code.css
    Было
    Код:
    .bbCodeBlock pre,
    .bbCodeBlock .code
    {
        @property "bbCodeCode";
     
        @property "/bbCodeCode";
    }
    
    После доработки стало
    Код:
    .bbCodeBlock pre,
    .bbCodeBlock .code
    {
        @property "bbCodeCode";
        font-size: 10pt;
        font-family: Consolas, 'Courier New', Courier, monospace;
        background-color: rgb(17, 17, 17);
        padding: 10px;
        border-color: rgb(43, 43, 43);
        border-radius: 5px;
        word-wrap: normal;
        overflow: auto;
        line-height: 1.24;
        min-height: 30px;
        max-height: 500px;
        _width: 600px;
        @property "/bbCodeCode";
    }
     
  17. AvCrash

    AvCrash Местный

    Регистрация:
    09.07.12
    Сообщения:
    121
    Симпатии:
    17
    Версия XF:
    1.3.2
    Подскажите, пожалуйста:
    1. Можно ли убрать сортировку по имени?
    2. Как убрать строку поиска
    3. Если в таблице элементов меньше чем 10 - табличка меньше не становится.
    4. Как сделать так, чтобы не было фильтра сколько отобразить, а по умолчанию показывалось всё?
     
  18. Witold

    Witold Местный

    Регистрация:
    19.01.12
    Сообщения:
    132
    Симпатии:
    23
    Версия XF:
    1.2.2
    1. Можно в файле \library\Nabeel\Table\BBCode\Formatter\Base.php и функционал изменить в \js\jquery\jquery.dataTables.min.js
    2. В \js\jquery\jquery.dataTables.min.js
    3. Прописать минимальные значение автоматом в \js\jquery\jquery.dataTables.min.js
    4. Редактировать в \js\jquery\jquery.dataTables.min.js
    Напутствие дал, читайте работу php и делайте сами, этим вам ни кто не займется.
    Это полностью переработка функционала плагина, легче новый писать.
     
    AvCrash нравится это.
  19. AvCrash

    AvCrash Местный

    Регистрация:
    09.07.12
    Сообщения:
    121
    Симпатии:
    17
    Версия XF:
    1.3.2
    Хреново. Я не программист, чтобы плагины перерабатывать.
    в vb этот bbcode работал идеально. Странно, что так же не портировали под xenforo
     
  20. Piton

    Piton Активный пользователь

    Регистрация:
    19.02.12
    Сообщения:
    17
    Симпатии:
    0
    Подскажите пожалуйста новичку, как установить аддон? Движок 1.1.3
     

Поделиться этой страницей