Cтена в профиле юзера (Швабрашвабр)

Главные вкладки

Аватар пользователя iNFerNo iNFerNo 1 ноября 2010 в 15:25

вставил код

<?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

как побороть это?

Комментарии

Аватар пользователя iNFerNo iNFerNo 1 ноября 2010 в 15:51

ну не знаю я из швабр швабр взял.

вствлял в пейдж-юзер тпл пхп там с косяком вствил в юзер-профиль файл все ок. но

почему то не выводит сообщения в профиль все время пишет что нет постов (хотя они там есть). гостевая со времен швабрашвабр прошло много времени

и модуль изменился. может быть из за этого код не работает?

Аватар пользователя iNFerNo iNFerNo 1 ноября 2010 в 16:14

даже это не помогло

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,
);

}
}

оно тоже в сборке швабры было

Аватар пользователя iNFerNo iNFerNo 1 ноября 2010 в 16:23

вствил подругому стену

<?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;
    }
  }
?>

а как можно тимизировать гесту ?

Аватар пользователя iNFerNo iNFerNo 1 ноября 2010 в 17:24

подкажите что хакнуть в модуле Guestbook

1. чтобы убрать строчку

Посмотреть профиль [никнейм ссылкой на профиль]

в гостевой

2. что бы убрать фразу добавить запись и расположить ее над формой вместо Сообщение*

вообще как можно темизировать гесту?

Аватар пользователя glu2006 glu2006 1 ноября 2010 в 17:42

1-е и самое главное что можно и нужно сделать это посмотреть в код самого модуля и подумать головой (сделать анализ того что там написано) а не строчить посты как из пулемета.
2-е и не менее важное это научиться не хакать модули а цепляться к процессам на основе API.

Аватар пользователя glu2006 glu2006 1 ноября 2010 в 20:25

iNFerNo wrote:
ну для программиста эти правила бы подошли.

Значит хакать модуль ты программист а API почитать нет?

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 1 ноября 2010 в 20:39

Со ссылками такая кака выходит, потому что l() сама там декодирует
Я знаю, со знаком якоря точно траблы есть, если туда ещё и текст русский пихать - вообще караул.

Аватар пользователя glu2006 glu2006 2 ноября 2010 в 9:26

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Со ссылками такая кака выходит, потому что l() сама там декодирует
Я знаю, со знаком якоря точно траблы есть, если туда ещё и текст русский пихать - вообще караул.

Нет никаких траблов со знаком якоря Smile передавать параметры нужно правильно.
к примеру если надо урл вида 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 == новость в таблице алиасов.

Аватар пользователя iNFerNo iNFerNo 1 ноября 2010 в 23:05

Ну я в профиле по другому вывожу гесту. Искал полгода и нашел...

как теперь... вот бы темезировать и убрать лишнее

Аватар пользователя iNFerNo iNFerNo 1 ноября 2010 в 23:15

еще такой трабл...

после отправления нового месаджа в гесте... мы оказываемся в профиле пользователя но в садресной строке прописана гостевая....

можно ли как то оставаца в профиле юзера и по адресной строке?

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 2 ноября 2010 в 2:23

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

Аватар пользователя iNFerNo iNFerNo 2 ноября 2010 в 9:37

Так то оно так... кончено. Не знаю. Привычка.
Для чего то модули пишут.

Это каждому юзеру нужно будет создать материал свой типа гостевая что бы туда писали коменты.

Аватар пользователя glu2006 glu2006 2 ноября 2010 в 10:25

iNFerNo wrote:
Так то оно так... кончено. Не знаю. Привычка.
Для чего то модули пишут.

Это каждому юзеру нужно будет создать материал свой типа гостевая что бы туда писали коменты.

Это можно можно сделать автоматически и юзер даже ничего и не заподозрит.

Аватар пользователя iNFerNo iNFerNo 2 ноября 2010 в 10:30

При регистрации юзера автоматически создается нода-гостевая? ее можно отключить ноду? в настройках своего профля если геста не нужна?

просто хотелось бы гостевую в которой было бы реализованы настройки

1. отключить (посты нельзя оставлять новые)
2. включит всем
3. включить друзьям
4. убрать (вообще убрать из вывода)

и все это в профиле в настройках чибоксы...