вставил код
<?php
if(count($info['guestbook'])) {
print "<h3>Стена</h3>";
$rows = array();
foreach($info['guestbook'] as $message) {
$rows[] = array(l($message['name'], drupal_get_path_alias("user/" . $message['author'])), $message['message']);
}
if($user->uid != $account->uid) {
$rows[] = array(array('data' => l("Напис<em>а</em>ть на стене!", drupal_get_path_alias("user/" . $account->uid . "/guestbook"), array('html' => TRUE)), 'colspan' => 2, 'style' => 'text-align: right;'));
}
$header = array();
print theme('table', $header, $rows);
} else {
print "<h3>Стена</h3>";
if($user->uid != $account->uid) {
print theme('table', array(), array(array("На стене пока пусто, " . l("вы можете первым оставить свой след здесь!", drupal_get_path_alias("user/" . $account->uid . "/guestbook")))));
} else {
print theme('table', array(), array(array("На вашей стене пока пусто :(")));
}
}
?>
выствил UTF-8 при сохранение без BOM
все хорошо но в профиле вместо ссылки /5/guestbook
выводится /%2Fguestbook
как побороть это?
Комментарии
drupal_get_path_alias() это зачем?
насколько я помню функция l() сама умеет алиасы подставлять.
ну не знаю я из швабр швабр взял.
вствлял в пейдж-юзер тпл пхп там с косяком вствил в юзер-профиль файл все ок. но
почему то не выводит сообщения в профиль все время пишет что нет постов (хотя они там есть). гостевая со времен швабрашвабр прошло много времени
и модуль изменился. может быть из за этого код не работает?
--
даже это не помогло
function clearland_get_user_info($uid) {
$info = array();
$q = db_query("SELECT g.message, g.author, u.name FROM {guestbook} g INNER JOIN {users} u ON g.author = u.uid WHERE g.recipient = %d", $uid);
while($r = db_fetch_object($q)) {
$info['guestbook'][] = array(
'author' => $r->author,
'name' => $r->name,
'message' => $r->message,
);
}
}
оно тоже в сборке швабры было
вствил подругому стену
<?php
if (module_exists('guestbook')) {
$account_user = user_load(arg(1));
if (!$account_user->guestbook_status) {
$view_args = array($account_user);
$func_args = array_merge(array('guestbook', 'page'), $view_args);
$guestbook = call_user_func_array('module_invoke', $func_args);
print $guestbook;
}
}
?>
а как можно тимизировать гесту ?
--
подкажите что хакнуть в модуле Guestbook
1. чтобы убрать строчку
Посмотреть профиль [никнейм ссылкой на профиль]
в гостевой
2. что бы убрать фразу добавить запись и расположить ее над формой вместо Сообщение*
вообще как можно темизировать гесту?
1-е и самое главное что можно и нужно сделать это посмотреть в код самого модуля и подумать головой (сделать анализ того что там написано) а не строчить посты как из пулемета.
2-е и не менее важное это научиться не хакать модули а цепляться к процессам на основе API.
ну для программиста эти правила бы подошли.
Значит хакать модуль ты программист а API почитать нет?
Со ссылками такая кака выходит, потому что l() сама там декодирует
Я знаю, со знаком якоря точно траблы есть, если туда ещё и текст русский пихать - вообще караул.
Нет никаких траблов со знаком якоря
передавать параметры нужно правильно.
к примеру если надо урл вида http://mysite.ru/content#top; пишем:
<?php
l(t('My text'), 'content', array('fragment' => 'top'));
?>
Учите мат часть, и читайте доку (зря очкарика убрал с аватарки).
с русскими буквами в урлах это не проблема а дурь и желание оторваться от стандартов. хотя если задан нормальный алиас (кирилический) через path_auto то l() отработает как надо.
т.е.
http://mysite.ru/новость#top
<?php
l(t('My page'), 'node/10', array('fragment' => 'top'));
?>
где node/10 == новость в таблице алиасов.
Ну я в профиле по другому вывожу гесту. Искал полгода и нашел...
как теперь... вот бы темезировать и убрать лишнее
еще такой трабл...
после отправления нового месаджа в гесте... мы оказываемся в профиле пользователя но в садресной строке прописана гостевая....
можно ли как то оставаца в профиле юзера и по адресной строке?
Скажи, что тобой движет, когда ты ставишь дополнительный модуль, коих, думаю, у тебя там и так как кроликов в садке, притом, что базовый функционал Друпала позволяет делать гостевуху из любой ноды. Просто
добавь водывключи каменты к ноде, чем не гостевуха?Так то оно так... кончено. Не знаю. Привычка.
Для чего то модули пишут.
Это каждому юзеру нужно будет создать материал свой типа гостевая что бы туда писали коменты.
Это можно можно сделать автоматически и юзер даже ничего и не заподозрит.
При регистрации юзера автоматически создается нода-гостевая? ее можно отключить ноду? в настройках своего профля если геста не нужна?
просто хотелось бы гостевую в которой было бы реализованы настройки
1. отключить (посты нельзя оставлять новые)
2. включит всем
3. включить друзьям
4. убрать (вообще убрать из вывода)
и все это в профиле в настройках чибоксы...
не нашли?