Обработка переменных
Среда, 3 ноября 2010 г.Рубрика: Вебмастеру -> Полезное
Метки: движок | доработка | переменная | юзер
Подписаться на комментарии по RSS
Когда я делаю сайты на заказ, то довольно часто возникает необходимость доработать код движка под определённый функционал определяемый заказчиком. А так как я последние несколько лет для таких целей использую один движок (Даннео) то такие доработки обычно не занимают много времени. Когда работаеш с одним движком то знаеш его как свои пять пальцев. К тому же сам движок позволяет достаточно легко перекраивать и добавлять какой угодно функционал. Именно поэтому я его всегда рекомендую.
Так вот, дорабатывая движок для одного проекта я столкнулся с необходимостью добавления в код нескольких модулей функции обработки переменных. В зависимости от того, пустая переменная или нет, нужно выводить на странице либо один текст либо другой который в свою очередь выводиться тоже переменной. Если обяснять простым и понятным языком то суть такова - на сайте есть разделы в которые пользователи могут добавлять свои материалы. Например рецепты блюд или интересные вывсказывания своих детей. Так вот, если автор текста определён то в конце этого текста должно выводиться - Автор рецепта - логин приславшего рецепт одновременно являющийся ссылкой на профиль в форум. Если же автор рецепта не определён (в случае если будет разрешенно добавлять рецепты незарегистрированным посетителям с обязательной перемодерацией или рецепт был присланн на мыло и его размещает модератор), то должен выводиться текст - размещенно модератором или вообще ничего не должно выводиться.
Для того что бы работало именно так, нужно в том месте модуля где из переменной выводится логин разместившего рецепт задать условие - если логин не определён то выводить один код, если определён то другой. Переменная которая выводит логин на определённой странице в определённом месте стандартная $user и для вывода логина используется ещё пара переменных которые выводят ID юзера и по нему уже и определяется логин. Значит можно использовать ID юзера для определения - это был зарегистрированный пользователь или аноним.
Код получился простой, всё по учебнику PHP
if ($userid == 0){
$user = "Размещено модератором";
} else {
$user = "Автор рецепта - ".$users."";
}
Где $userid это ID пользователя, $users это логин пользователя. Если ID юзера определенно, то оно соответствует какой то цифре, тоесть не ноль. Тогда выводится Автор рецепта - Логин юзера. Если юзер не определён то ID равно нулю, значит в таком случае будет выводиться Размещено модератором. Пример реализации можно глянуть на одном из моих новых проектов, на странице где статья размещена модератором - Пример 1 и на странице где статью разместил зарегистрированный пользователь - Пример 2. На этом сайте я таким же образом доработал вывод автора как и на том проекте о котором я писал в самом начале.
Ранее было более простое решение, и не очень красивое. Если автор определён то выводилось Автор - Логин юзера, а если автор был не определён то выводилось просто Автор - . Именно поэтому я решил переделать ту часть кода которая отвечает за вывод логина юзера разместившего текст.
Оставьте комментарий!