[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопросы по IPB 2.3.6
netruxa
Привет всем. Сейчас работаю над одним проектом. С сайтом все отлично сделано, но с форумом у мну проблемы... Редко с ними работаю. Итак, если Вы не против, буду здесь задавать непонятные для меня вопросы.
(уже создал подобный топик на forums.ibresource.ru но там чтото за 3 дня никто не ответил)

Итак, самый важный на данный момент вопрос:

Как сделать ссылку на группу? Не на все, а только в одной группе будет ссылка на одну из тем форума. я дописал в prefix <a href="{ссылка, стандартный url}">, а в suffix </a>. Ссылка работает отлично, но теперь в списке кто онлайн на главной странице форума при клике на пользователя из этой группы мы попадаем не ему в профайл, а на {ссылку}

что делать? )



Спустя 2 часа, 51 минута, 19 секунд (31.05.2009 - 13:26) FatCat написал(а):
Цитата (netruxa @ 31.05.2009 - 10:34)
Как сделать ссылку на группу?

Где должна быть эта ссылка?
Система префиксов в админке - это префиксы ко всем никам на всех страницах...
Если нужно переопределять линк только в топиках, то и править надо Topics.php, в двушках он кажется сидит в sources/action_public...

И самый главный вопрос: нафига?
Профили пользователей - это хорошее "мясо" для индексации поисковками и продвижения сайта, НО!!! непустые профили.
Я всеми силами закрываю от поисковых ботов линки на пустые профили. И уж развешивать на многих страницах линк на список группы - ИМХО, просто вредно для продвижения сайта.

Спустя 23 часа, 29 минут, 2 секунды (1.06.2009 - 12:55) netruxa написал(а):
привет. ок, попробую topics.php поковырять
Цитата
И самый главный вопрос: нафига?

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

Спустя 3 часа, 10 минут, 31 секунда (1.06.2009 - 16:05) FatCat написал(а):
Порой поиском по словам "team icon" - был мод для "двушек", вешающий группам иконки в топики; на иконку можно будет легко повесить нужный линк.
Для однушки я писал такой мод сам; но напрямую с однушки на двушку все равно не перенести...

Спустя 18 часов, 48 минут, 25 секунд (2.06.2009 - 10:54) netruxa написал(а):
не понял. а как в team icon засунуть линк?

Спустя 3 часа, 39 минут, 12 секунд (2.06.2009 - 14:33) FatCat написал(а):
Надо смотреть как устроен мод.
Если в БД хранятся <img src="иконка.gif"> - тогда прямо в БД обрамлять тегами гиперлинка.
Если в БД хранятся только имена файлов, то искать по коду где они преобразуются в теги, и там дописывать условия.

Спустя 7 часов, 52 минуты, 18 секунд (2.06.2009 - 22:25) netruxa написал(а):
Цитата (FatCat @ 2.06.2009 - 11:33)
Надо смотреть как устроен мод.
Если в БД хранятся <img src="иконка.gif"> - тогда прямо в БД обрамлять тегами гиперлинка.
Если в БД хранятся только имена файлов, то искать по коду где они преобразуются в теги, и там дописывать условия.

ясно. спасибо.

теперь слудующий вопрос: как добавить к каждому форуму свою картинку? нашел вот это неужели нет более простого способа?

Спустя 58 минут, 14 секунд (2.06.2009 - 23:23) FatCat написал(а):
Цитата (netruxa @ 2.06.2009 - 22:25)
неужели нет более простого способа?

Могу предложить менее кривой способ, но он не будет более простым...
1. В таблицу ibf_forums добавить текстовое поле forum_image, в которое будет добавляться тег картинки.
2. В скинах skin_boards (главная страница) => ForumRow сделать вывод картинки переменной {$data['forum_image']}

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

Спустя 10 часов, 48 минут, 15 секунд (3.06.2009 - 10:12) netruxa написал(а):
отличный способ. за skin_boards (главная страница) => ForumRow спасибо, именно эту штуку искал...

можно туда другую штуку прописать <img src="upload/logo{$data['id']}.gif"> и для форума с id 1 надо засунуть фотку в upload/logo1.gif

только как сделать, чтоб при новых сообщениях подгружалась upload/logo1_1.gif, а если нет сообщений новых то upload/logo1_2.gif

другими словами, сам блок {$data['img_new_post']} как меняется?

Спустя 1 час, 25 минут, 33 секунды (3.06.2009 - 11:37) FatCat написал(а):
Выбор картинки по условию делается уже в файлах ядра.

Там же в скине в самом начале
HTML
<td align="center" class="row2" width="1%">{$data['img_new_post']}</td>
уже делает меняющуюся картинку.

Там выбор через макросы. Фууууу...
Выбор по условию можно (и я думаю разумнее) сделать в sources\action_public\boards.php: в зависимости от условия формировать разные значения переменной $forum_data['forum_image']


Тогда лучше не так организовать, а иначе:
1. В БД хранится имя файла картинки.
2. В sources\action_public\boards.php находишь функцию наложения скина на строку форума
PHP
$temp_html .= $this->ipsclass->compiled_templates['skin_boards']->ForumRow$this->ipsclass->forums->forums_format_lastinfo$this->ipsclass->forums->forums_calc_children$forum_data['id'], $forum_data ) ) );
и перед ней формируешь код по условию:
PHP
$forum_data['forum_image'] = "<img src='uploads/".$forum_data['forum_image']."'>"// Формируем тег IMG
if( intval($forum_data['last_unread']) > intval($this->ipsclass->input['last_visit']) ) // Если время последнего сообщения больше времени последнего визита
{
$forum_data['forum_image'] = str_replace(".gif","_2.gif",$forum_data['forum_image']); // Добавляем "_2" в конец имени файла
}


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

Спустя 7 часов, 1 минута, 55 секунд (3.06.2009 - 18:39) netruxa написал(а):
в чем может быть баг если intval($forum_data['last_unread']) возвращает 0???

хотя на форуме все работает отлично, форумы, в которых есть новые топики, подсвечиваются по другому

Спустя 47 минут, 33 секунды (3.06.2009 - 19:27) FatCat написал(а):
Попробуй вместо $forum_data['last_unread'] использовать $forum_data['last_post']
Если и с ней не получится - тогда нужно будет искать, в каком sql-запросе считываются данные из ibf_forums, в частности поле last_post (если там не *, то указать поле явно), в какой переменной будет храниться, и чтобы это значение работало в условии.

Спустя 13 дней, 15 часов, 4 минуты, 32 секунды (17.06.2009 - 10:31) netruxa написал(а):
С картинками для форумов разобрался, большое тебе спасибоо!
еще какойто глюк не добавляются фотки в профайле пользователя. А аваторки добавляются нормально, а когда делаешь установку фотографии (которая 150-150пикс, 100кб) пишет
Цитата
Неудачная загрузка. Пожалуйста, свяжитесь с администратором форума.

что может быть?

Спустя 2 часа, 36 минут, 41 секунда (17.06.2009 - 13:08) FatCat написал(а):
АХЕЗ...
Нужно смотреть все условия вызова функции error(...) и проверять, что не так.
А лимита размера аплоада пользователям нет? Может 100 кб этой группе просто не разрешено, а разрешено например 50?

Спустя 1 день, 6 часов, 14 минут, 24 секунды (18.06.2009 - 19:22) netruxa написал(а):
вот и пробовал картинки меньше 50 кб, и пробовал форматы jpg gif png и все равно ничего не загружалось. лан, не крайне важны личные фотки...

еще вопросик: как в скине прописать php код? а именно мне надо ротация баннеров. захожу я в ACP Home > Skin Manager Home > Editing Board Wrapper in set IPB Classic Blue (там где полностью прописывается структура сайта Editing the Board Header and Footer Wrapper) и <? echo 'test'; ?> не работает. ахтунг!

Спустя 14 дней, 2 минуты, 3 секунды (2.07.2009 - 19:24) netruxa написал(а):
up! подскажите, можно ли как-нибудь сделать ротацию баннеров в IPB?

Спустя 1 час, 14 минут, 4 секунды (2.07.2009 - 20:38) FatCat написал(а):
Цитата (netruxa @ 18.06.2009 - 20:22)
как в скине прописать php код?

Переконвертировать 2.3.x => 1.x и наслаждаться нормальным движком. laugh.gif

Как-то народ изгаляется через EXEC или что-то подобное, но я им сочувствую...

Валидный код - это когда весь пхп-код в файлах ядра, а в скинах только ХТМЛ-обертка.

Спустя 14 часов, 41 минута, 7 секунд (3.07.2009 - 11:19) FatCat написал(а):
PandoraBox2007
user posted image

Спустя 43 минуты, 7 секунд (3.07.2009 - 12:03) Sylex написал(а):
PandoraBox2007
офигенный скрипт! biggrin.gif Да еще и с ошибкой

особенно важный момент здесь:
PHP
srand ((double) microtime() * 1000000000000); //Раскрутим случайное число

laugh.gif

Спустя 5 часов, 1 минута, 24 секунды (3.07.2009 - 17:04) PandoraBox2007 написал(а):
rolleyes.gif
PHP
<?php

function RotateBanner
($url, $dir)
{
    $folder = opendir($dir) or exit; //Открываем директорию с баннерами

    $names = array();
    while ($file = readdir($folder)) //Прочитаем все содержимое директории banner
    {
        if ($file == ".." || $file == ".") continue;
        $names_count = count($names);
        $names[count($names)] = $file; //Каждый баннер загоняем в массив
    }
    closedir($folder); //Закрываем директорию  
    
    if 
($names_count > 0)
    {
        sort($names); //Отсортируем весь массив с баннерами
        
        
//Если попались не графические файлы уберем их все, и посчитаем сколько всего у нас баннеров в директории banner
        $tempvar = 0;
        $names1 = array();
        for ($i = 0; $i < $names_count; $i++)
        {
            $ext = substr(strrchr($names[$i], '.'), 1);
            if ($ext == "jpg" || $ext == "gif" || $ext == "jpeg" || $ext == "png")
            {
                $names1[$tempvar] = $names[$i];
                $tempvar++;
            }
        }
        srand((double) microtime() * 10000000); //Раскрутим случайное число
        $rand_keys = array_rand($names1, 2); //Выберем один из баннеров
        $img = $names1[$rand_keys[0]]; //У выбраного баннера посмотрим его местонахождение
        if ($img)
        {
            return "<a href=\"$url\" target=\"_blank\"><img src=\"$dir/$img\" border=\"0\"></a>"; //выведем случайный баннер
        } else {
            return NULL;
        }
    } else {
        return NULL;
    }
}


PHP
echo RotateBanner("http://rull.ru", 'logos');

Спустя 17 дней, 18 часов, 55 минут, 6 секунд (21.07.2009 - 11:59) netruxa написал(а):
PandoraBox2007, спасибо тебе за странный код, но пхп нам не подходит. да и намного все проще можно написать на пхп для ротации баннеров. Я сделал через ява скрипт. В нужном месте вызывать функцию скрипта, которая выводила баннер рандомно
У меня теперь другой вопрос. Как я уже писал, у нас на форуме есть "закрытая группа", для которой есть определенные топики, которые не видно остальным. А на сайте есть модуль последние сообщения на форуме. И когда любой чел кликает по "закрытой" теме, у него выскакивает сообщение
Цитата
Сообщение форума
Обнаружена ошибка. Если вам неизвестны причины ошибки, попробуйте обратиться к разделам помощи.

Обнаружена ошибка:
Ссылка, по которой вы попали на эту страницу является «мертвой» или удалённой.

    
Вы не авторизованы. Вы можете это сделать ниже.

Можно ли сделать, чтобы в этом случае пользователь переходил на определенный пост форума?

Спустя 7 часов, 41 минута, 17 секунд (21.07.2009 - 19:40) FatCat написал(а):
Цитата (netruxa @ 21.07.2009 - 12:59)
на сайте есть модуль последние сообщения на форуме.

Делать вывод с учетом прав доступа.


Цитата (netruxa @ 21.07.2009 - 12:59)
Можно ли сделать, чтобы в этом случае пользователь переходил на определенный пост форума?

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

Спустя 2 часа, 35 минут, 3 секунды (21.07.2009 - 22:15) netruxa написал(а):
Цитата
а если топик есть, но не хватает прав - тогда и выводить текст о правах.

ну да, это и имелось ввиду. где это можно настроить? чтото я никак не найду((


_____________
ввв.парсер.рф - онлайн система проверки позиций Вашего сайта в поисковиках. Для форумчан 100 рублей на счет.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.