X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как поднять окно для добавления комментария?
7Azimuth
сообщение 2011-03-29, 5:24
Сообщение #1
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 525
Регистрация: 2010-10-20
Из: Украина

Репутация:   нет  
Всего: нет


Что и где нужно прописать, чтобы окно для добавления комментария было на комментариями, а не под ними? А то каждый раз опускаться в самый низ для того, чтобы что-то написать очень неудобно.

Сообщение отредактировал 7Azimuth - 2011-03-29, 5:25
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-03-29, 21:06
Сообщение #2
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


7Azimuth, в файле class_comments.php
Перейти в начало страницы
+Цитировать сообщение
Виктор
сообщение 2011-03-30, 7:16
Сообщение #3
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 105
Регистрация: 2008-12-13

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2020-10-20 02:15)
7Azimuth, в файле class_comments.php


сделал так:

в     public function Show($value,$ajax=false)

		if($this->view==3 and !$ajax and !$this->moder and !$this->Mainclass->Login->IsUser())
			$this->Mainclass->Cache->Put($this->u,$content,7200,false);
		if(!$ajax)
			$content.=/*'<div align="center"><a href="#" onclick="return '.$this->u.'.Update();" class="link-button" style="width=180px"><b>'.$this->lang['load_new_posts'].'</b></a></div>'.*/$this->Editor();


переместил перед

if($cnt==0)


в итоге получилось:

	public function Show($value,$ajax=false)
	{
		if(!$ajax)
		{
			$this->u='c_'.($mid=$this->Mainclass->GetModVal('id')).'_'.$value;
			$content='<a name="comments" id="comments" style="font-size: 0px; line-height: 0px"></a>'.Strings::AddJS('js/eleanor_comments.js');
		}
		else
		{
			$mid=$this->Mainclass->GetModVal('id');
			$content='';
		}
		$this->moder|=$this->Mainclass->Permission->IsAdmin();
		$status=$this->moder ? '' : ' AND `status`>0';
		$this->Mainclass->Db->FQuery('SELECT COUNT(`id`) FROM {"0"} WHERE `mid`={"1"} AND `m_value`={"2"}'.$status,array($this->table,'i_'.$mid,'s_'.$value),__file__,__line__);
		list($cnt)=$this->Mainclass->Db->Fetch_row();
		$pages=ceil($cnt/$this->per_page);
		if(isset($_GET['findcomment']))
		{
			$comm_id=$_GET['findcomment'];
			$this->Mainclass->Db->FQuery('SELECT COUNT(`id`) FROM {"0"} WHERE `id`<={"3"} AND `mid`={"1"} AND `m_value`={"2"}'.$status.' LIMIT 1',array($this->table,'i_'.$mid,'s_'.$value,'i_'.$comm_id),__file__,__line__);
			list($comm_cnt)=$this->Mainclass->Db->Fetch_row();
			if($comm_cnt==0)
				return ExitPrefix();
			if($this->view==3)
				Functions::Redirect(ELEANOR_PROTOCOL.$this->Mainclass->domain.$this->Mainclass->site_path.'/'.$this->Mainclass->Url->Prefix().'#comment'.$comm_id);
			else
			{
				$page=$pages-floor($comm_cnt/$this->per_page);
				if($page==$pages)
					$page=0;
				else
					$page=$pages-$page;
				Functions::Redirect(ELEANOR_PROTOCOL.$this->Mainclass->domain.$this->Mainclass->site_path.'/'.htmlspecialchars_decode($this->Mainclass->Url->ConstructUrl(array(array('page'=>$page)))).'#comment'.$comm_id);
			}
			die;
		}
				if($this->view==3 and !$ajax and !$this->moder and !$this->Mainclass->Login->IsUser())
			$this->Mainclass->Cache->Put($this->u,$content,7200,false);
		if(!$ajax)
			$content.=/*'<div align="center"><a href="#" onclick="return '.$this->u.'.Update();" class="link-button" style="width=180px"><b>'.$this->lang['load_new_posts'].'</b></a></div>'.*/$this->Editor();

		if($cnt==0)
			$content.=($ajax ? '' : '<div id="d_'.$this->u.'">').'<div align="center"><span class="option">'.$this->lang['no_comments'].'</span></div>'.($ajax ? '' : '</div>')
					.($ajax ? '' : Strings::JsVars(array($this->u=>'!_ new Comments('.$mid.',\''.$value.'\',\''.$this->u.'\',\''.$this->Mainclass->Url->Prefix(false,false).'\',\''.$this->Mainclass->Url->ending.'\',0,0,'.$this->view.',0,0)')));
		else
		{
			if($this->view==3 and !$ajax and !$this->moder and !$this->Mainclass->Login->IsUser())
			{
				$cache=$this->Mainclass->Cache->Get($this->u,false);
				if($cache!==false)
					return $cache.$this->Editor();
			}
			if($this->view!=3)
			{
				if($this->view==1)
					$page=$pages - (isset($_GET['page']) ? (int)$_GET['page'] : $pages) + 1;
				else
					$page=isset($_GET['page']) ? (int)$_GET['page'] : 0;
				if(($this->view!=2 or $ajax) and $page==0)
					$page=$pages;
				if($page<=0)
					$page=1;
				if($page>$pages)
					$page=$pages;
				$offset=abs(($page-1)*$this->per_page);
				$comm_n=$this->view==2 ? $offset+1 : $cnt-$offset;
			}
			else
			{
				$values=$dump=$tosort=array();
				$last=true;
				$page=$pages=$comm_n=1;
			}
			$nesting=$ids=$uids=$ips=$dates=$names=$texts=$karma=$parents=$statuses=$whspam=array();
			$this->Mainclass->Db->FQuery('SELECT `id`,`date`,`name`,`uid`,`ip`,`parent`,`text`,`karma`,LOCATE(\','.$this->Mainclass->Account->GetValue('id').',\',`karma_ids`) `who`,`status`,`who_m_spam` FROM {"0"} WHERE `mid`={"1"} AND `m_value`={"2"}'.$status.' ORDER BY `id` '.($this->view%2 ? 'DESC' : 'ASC').($this->view==3 ? '' : ' LIMIT '.$offset.', '.$this->per_page),array($this->table,'i_'.$mid,'s_'.$value),__file__,__line__);
			while($arr=$this->Mainclass->Db->Fetch_assoc())
			{
				$arr['text']='<div id="'.$this->u.'_t'.$arr['id'].'">'.$arr['text'].'</div>';
				$arr['date']=substr($arr['date'],0,-3); #Убираем секунды
				if($arr['name'])
					$arr['name']=preg_replace('#&[^;]+$#i','',$arr['name']);
				if($this->view==3)
				{
					$arr['karma']=$this->Karma($arr['karma'],$arr['who'],$arr['id'],$arr['uid']);
					$arr['nesting']=0;
					unset($arr['who']);
					$values[$arr['id']]=$arr;
					if($arr['parent']==0)
					{
						if($last)
						{
							$values[$arr['id']]+=array('last'=>true);
							$last=false;
						}
						$tosort[$arr['id']]=$arr['id'];
					}
					else
						$dump[]=array('id'=>$arr['id'],'parent'=>$arr['parent']);
				}
				else
				{
					$ids[]		=$arr['id'];
					$uids[]		=$arr['uid'];
					$ips[]		=$arr['ip'];
					$dates[]	=$arr['date'];
					$parents[]	=0;
					$names[]	=$arr['name'];
					$texts[]	=$arr['text'];
					$karma[]	=$this->Karma($arr['karma'],$arr['who'],$arr['id'],$arr['uid']);
					$statuses[]	=$arr['status'];
					$whspam[]	=$arr['who_m_spam'];#Кто пометил пост спамным
				}
			}
			if($this->view==3)
			{
				asort($tosort,SORT_NUMERIC);
				$keys=array_keys($tosort);
				unset($tosort);
				$len=0;
				$last=array();
				while (count($dump)!=$len)
				{
					$len=count($dump);
					foreach ($dump as $k=>$v)
						if(false!==$id=array_search($v['parent'],$keys))
						{
							$values[$v['id']]['nesting']=$values[$v['parent']]['nesting']+1;
							if(!in_array($v['parent'],$last))
							{
								$values[$v['id']]['last']=true;
								$last[]=$v['parent'];
							}
							array_splice($keys,$id+1,0,array((int)$v['id']));
							unset($dump[$k]);
						}
				}
				foreach($keys as &$v)
				{
					$ids[]		=$values[$v]['id'];
					$uids[]		=$values[$v]['uid'];
					$ips[]		=$values[$v]['ip'];
					$dates[]	=$values[$v]['date'];
					$parents[]	=$values[$v]['parent'];
					$names[]	=$values[$v]['name'];
					$texts[]	=$values[$v]['text'];
					$karma[]	=$values[$v]['karma'];
					$nesting[]	=$values[$v]['nesting'];
					$statuses[]	=$values[$v]['status'];
					$whspam[]	=$values[$v]['who_m_spam'];#Кто пометил пост спамным
				}
				$pages_list='';
			}
			else
			{
				$nesting=&$parents;
				$this->Mainclass->Url->hash='comments';
				$pages_list=Strings::Pages($cnt,$this->per_page,array(),false,$this->view==2 ? $page : -1*$page,$this->u.'.GoToPage(\'{page}\')');
				$this->Mainclass->Url->hash='';
			}
			$content.=($ajax ? '' : '<div id="d_'.$this->u.'">').$this->TempHeadComment().($this->view==3 ? '<ul class="com-list">' : '').$this->FormatPosts($ids,$uids,$ips,$dates,$names,$texts,$karma,$nesting,$comm_n,$statuses,$whspam).($this->view==3 ? '</ul>' : '').$this->TempFootComment().$pages_list.($ajax ? '' : '</div>')
					.($ajax ? '' : Strings::JsVars(array($this->u=>'!_ new Comments('.$mid.',\''.$value.'\',\''.$this->u.'\',\''.$this->Mainclass->Url->Prefix(false,false).'\',\''.$this->Mainclass->Url->ending.'\','.$page.','.(int)($this->view==1 ? reset($ids) : end($ids)).','.$this->view.','.(int)$pages.','.($comm_n+($this->view==1 ? 0 : count($ids)-1)).')')));
		}
		return ($ajax ? array('comments'=>$content,'pages'=>$pages,'last'=>(int)($this->view==1 ? reset($ids) : end($ids)),'page'=>$page,'comm_n'=>$comm_n+($this->view==1 ? 0 : count($ids)-1)) : $content);
	}



Правильно ли я сделал? Вроде отображается все отлично http://inzhenery.su/news/inzhenery-zarubezhya/virtualnyy-inzhener-opredelit-problemu-do-ee-vozniknoveniya.html
Перейти в начало страницы
+Цитировать сообщение
7Azimuth
сообщение 2011-03-30, 12:10
Сообщение #4
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 525
Регистрация: 2010-10-20
Из: Украина

Репутация:   нет  
Всего: нет


Цитата (Виктор @ 2020-10-20 02:15)
Правильно ли я сделал? Вроде отображается все отлично http://inzhenery.su/news/inzhenery-zarubezhya/virtualnyy-inzhener-opredelit-problemu-do-ee-vozniknoveniya.html

Я вообще комментариев не вижу.
Перейти в начало страницы
+Цитировать сообщение
Виктор
сообщение 2011-03-30, 12:47
Сообщение #5
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 105
Регистрация: 2008-12-13

Репутация:   нет  
Всего: нет


Значит неправильно... :(
Перейти в начало страницы
+Цитировать сообщение
7Azimuth
сообщение 2011-03-30, 12:53
Сообщение #6
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 525
Регистрация: 2010-10-20
Из: Украина

Репутация:   нет  
Всего: нет


Подождем, что профи скажут :)
Перейти в начало страницы
+Цитировать сообщение
Виктор
сообщение 2011-03-30, 12:54
Сообщение #7
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 105
Регистрация: 2008-12-13

Репутация:   нет  
Всего: нет


Нет. Это в настройках неправильный параметр стоял. Изменил настройки теперь комментарии доступны всем!
Перейти в начало страницы
+Цитировать сообщение
7Azimuth
сообщение 2011-03-30, 13:01
Сообщение #8
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 525
Регистрация: 2010-10-20
Из: Украина

Репутация:   нет  
Всего: нет


Выложите пожалуйста сюда исправленный файл class_comments.php :)

Сообщение отредактировал 7Azimuth - 2011-03-30, 13:01
Перейти в начало страницы
+Цитировать сообщение
7Azimuth
сообщение 2011-03-30, 13:20
Сообщение #9
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 525
Регистрация: 2010-10-20
Из: Украина

Репутация:   нет  
Всего: нет


Все, вроде бы сам разобрался)
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-03-30, 19:07
Сообщение #10
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


7Azimuth, покажите, пожалуйста и остальным, как Вы разобрались.
Перейти в начало страницы
+Цитировать сообщение
7Azimuth
сообщение 2011-03-31, 6:59
Сообщение #11
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 525
Регистрация: 2010-10-20
Из: Украина

Репутация:   нет  
Всего: нет


Как Виктор написал :) Странно, что нельзя прикрепить файлик для наглядности :rolleyes:
Перейти в начало страницы
+Цитировать сообщение
Виктор
сообщение 2011-03-31, 10:36
Сообщение #12
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 105
Регистрация: 2008-12-13

Репутация:   нет  
Всего: нет


Мне кажется нагляднее когда указывают что и где меняли - построчно, нежели прикрепляют файл, т.к. в этом файле могли проводится изменения до этого и если тупо заменять файл, то на твоем сайте может что то "полететь" и сначала можно даже это не увидеть, зато потом замучаешься искать...
Перейти в начало страницы
+Цитировать сообщение
7Azimuth
сообщение 2011-04-02, 20:53
Сообщение #13
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 525
Регистрация: 2010-10-20
Из: Украина

Репутация:   нет  
Всего: нет


Подскажите как чуть поднять страницы в самом низу?
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0468 сек.    11 запросов    GZIP включен    Сейчас: 2020-10-20, 1:15