acelote 3 Опубликовано: 21 июня 2010 Рассказать Опубликовано: 21 июня 2010 (изменено) Доброго времени суток форумчанам. сайт Хочу спросить у знатоков php. Помогите со вставкой нескольких строк кода. Есть простенький модуль Он-лайн. Скачал давно, из себя представляет один файл и один tpl. В общем, меня устраивает. Единственное "но". Хотелось бы усовершенствовать его для отображения названия тем, где находится пользователь. Может кто подсказать, как реализовать это? Привожу кусок кода, который отвечает за отображение нахождения пользователя: switch($_REQUEST['do']) { case 'addnews': $location = "Добавляет статью"; break; case 'tags': $location = "Просматривает облако тегов"; break; case 'lastnews': $location = "Просматривает последние статьи"; break; case 'static': $location = "Просматривает страницу: ".$titl_e; break; case 'favorites': $location = "Просматривает избранные статьи"; break; case 'rules': $location = "Просматривает правила сайта"; break; case 'stats': $location = "Просматривает статистику сайта"; break; case 'cat': $location = "Просматривает категорию: ".$cat_info[$category_id]['name']; break; case 'forum': $location = "Просматривает форум"; break; case 'board': $location = "Просматривает Доску объявлений"; break; } if (($subaction != '' or $newsid != '') and $news_found) { $location = "Читает статью: ".$titl_e; } if($cstart != '') { $location = "Просматривает ".$cstart."-ю страницу"; } if($_SERVER['REQUEST_URI']=='/index.php') { $location = "Просматривает главную страницу"; } Как вы поняли, наверное, я только сумел добавить строчки "просматривает форум" и "просматривает доску объявлений". Мне бы хотелось, чтобы можно было отобразить "просматривает тему на форуме: Съешь еще этих французских булочек" Это сложно? Да, форум DLE Forum Изменено 21 июня 2010 пользователем acelote Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 23 июня 2010 Рассказать Опубликовано: 23 июня 2010 (изменено) Это сложно? Да, форум DLE Forum В принципе - нет. К сожалению, я не знаю как работает форум и какие там запросы, но выяснить это не сложно. Я в своем модуле для блока категорий подсветку сделал так: 1. написал в файле вывода код: echo $_SERVER['QUERY_STRING']; и определил запрос (как новости и категории без ЧПУ выводятся). Например, в новости N-ой категории узнал, что выводится, например, "newsid=1", значит, определить, что я нахожусь в новости, а не, например, в статической странице, странице обратной связи и т.д. можно так: if (substr($_SERVER['QUERY_STRING'],0,6)=='newsid') { echo 'Я читаю новость.'; } else echo 'Я читаю что-то другуе.'; Подсветку текущей категории (можно чего угодно "текущего") сделал по аналогии. Ну, здесь по аналогии можно для вашего случая придумать как сделать. Надеюсь, помог, натолкнул на мысль Готовый код дать не могу - Денвер не пашет и ковырять форум долго очень. ---------- Судя по текущему форуму, здесь путь данной страницы такой: _http://forum.dle-news.ru/index.php?showtopic=51618&st=0&gopid=248515&#entry248515 Значит, тема у вас будет: "showtopic=51618", Вам нужно вписать "showtopic" в Ваш пример. Далее сделать выборку названия темы уже на русском языке. Если закините сюда скрины БД (чтоб было видно саму структуру) или просто напишите текстом какие там строки в таблице, я Вам запрос в БД напишу, тогда вместо "цифер" будет на русском языке "тема" форума написана. Полагаю, так нужно: case 'showtopic': { sql = "SELECT dle_title_post FROM dle_forum_post WHERE dle_post_id='51618'"; $res = $db->query($sql); while ($r = $db->get_row($res)) $post_read = $r['dle_title_post']; $location = $post_read; } break; Ну вот, думаю, по логике далее сами сообразите, привел весь вариант. Изменено 23 июня 2010 пользователем zgr 1 Цитата Ссылка на сообщение Поделиться на других сайтах
guusr 19 Опубликовано: 24 июня 2010 Рассказать Опубликовано: 24 июня 2010 if (($subaction != '' or $newsid != '') and $news_found) { $location = "Читает статью: ".$titl_e; } у вас все так сложно, зачем так делать? Ведь бы добавляете запрос к 1му юзеру, а если онлайн 800? Немереное количество запросов выходит... Я конечно не знаток, но по коду выборка в его модуле делалась так: if (($subaction != '' or $newsid != '') and $news_found) { $location = "Читает статью: ".$titl_e; } сравнение идет как у вас, но без запроса... а название берется вообще из дефолт переменной, кажется... Цитата Ссылка на сообщение Поделиться на других сайтах
zgr 72 Опубликовано: 24 июня 2010 Рассказать Опубликовано: 24 июня 2010 if (($subaction != '' or $newsid != '') and $news_found) { $location = "Читает статью: ".$titl_e; } сравнение идет как у вас, но без запроса... а название берется вообще из дефолт переменной, кажется... Я не знаю вообще ни форум, ни его структуру и т.д., поэтому написал простецкий пример... Бывает, когда сайт только запускают, то нужно просто "лишь бы работало", а про оптимизацию речи нет еще. Если имеется дефолтная переменная, то, конечно же, в разы упрощается код и он более оптимизированный получается, без лишних запросов. ТС молчит, может, ему уже это и не нужно вовсе Ну а кто знает конкретный пример (модуль?), мог бы выложить для остальных, может, кому еще пригодится. Цитата Ссылка на сообщение Поделиться на других сайтах
flo.mAster 7 Опубликовано: 26 июня 2010 Рассказать Опубликовано: 26 июня 2010 Похоже на мой Модуль 5.0 nulled .... Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.