Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Поле Системные настройки:

14.02.2008, 00:08
Гость
Гость

У меня такое чувство что поле Системные настройки: в шаблоне обрабатывается при выводе одного объекта.

У меня в поле Системные настройки находится запись

if(!isset($srchPat[1])){
$query_where = "Year_Name=".date("Y");
}

Соответственно при выводе списка без $srchPat[1] всё ограничивается как надо если есть тоже как надо, но когда перехожу на страницу объекта если у объекта год не текущий то шаблон вообще не показывает объект и не создаются переменные типа $f_RowID

Что это может быть?
14.02.2008, 12:16
Гость
Гость

Может быть так?? -

Код:

if(!isset($srchPat[1])){
$query_where = "a.Year_Name=".date("Y");
}
14.02.2008, 20:02
Гость
Гость

Он мне вообще написал что ошибка в sql запросе после того как я a. добавил грустный(((
19.02.2008, 00:26
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

предлагаю Вам выложить код всего вашего шаблона, а то исходных данных малова-то для анализа

Temet nosce...
05.03.2008, 22:00
Гость
Гость

Я экспортировал шаблон в файл, для удобства. Вот его текст.



2.4
INSERT INTO Class SET Class_Name = 'Журналы', Class_Group = 'Main', DaysToHold = '0', AllowTags = '0', FormPrefix = '$f_AdminCommon";nif($last==1){n header("Location: " . nc_message_link(listQuery("SELECT * FROM Message$current_cc[Class_ID] WHERE Subdivision_ID=$sub ORDER BY Year DESC, month DESC, Name DESC LIMIT 1", "\$data[Message_ID]"), $current_cc["Class_ID"]));n}n$result .= "<div id='filter'>n <span>Год:</span>n <ul>n <li><a href='?all=true'>Все</a></li>n " . listQuery("SELECT DISTINCT Year as Id, Year_Name as Name FROM Message$current_cc[Class_ID] m LEFT JOIN Classificator_Year b ON (m.Year = b.Year_ID) WHERE Checked=1 AND Subdivision_ID=$sub ORDER BY Name", n "<li><a href='?srchPat[1]=\$data[Id]' " . opt($srchPat[1], "\" . opt($srchPat[1] == \$data[Id], \"class='bold'\") . \"") . ">\$data[Name]</a></li>") ."n <br>n</div>n" . opt($cc_env["totRows"], "<table class='magazines' width=\"100%\"><tr><td width=\"0%\">");n$counter = 0;n$result .= "', FormSuffix = '" . opt($cc_env["totRows"], "</td></tr></table>") . "', RecordTemplate = '<div>n<b><a href='$fullLink'>$f_Name</a></b>n$f_month, $f_Yearn" . opt($f_image, "<a href='$fullLink'><img src='$f_image'></a>") . "</div>";n++$counter;nif($counter == floor($cc_env["totRows"]/2)){n $result .= "</td><td>";n}n$result .= "n$f_AdminButtonsn', RecordsPerPage = '50', SortBy = '', RecordTemplateFull = '<h2>n" . listQuery("SELECT Subdivision_Name FROM Subdivision WHERE Subdivision_ID=".$current_sub["Subdivision_ID"], "\$data[Subdivision_Name]") . "n, " . listQuery("SELECT Name FROM Message71 WHERE Message_ID=".$f_RowID, "\$data[Name]") . "n" . $month[listQuery("SELECT month FROM Message71 WHERE Message_ID=".$f_RowID, "\$data[month]")] . "n</h2>n";nglobal $db;n$sections = $db->get_results("SELECT s.* FROM Subdivision s LEFT JOIN Message59 m ON (m.Subdivision_ID = s.Subdivision_ID AND m.Checked=1 AND m.Magazine = $f_RowID) WHERE s.Parent_Sub_ID=$sub AND s.Checked=1 GROUP BY s.Subdivision_ID HAVING COUNT(m.Message_ID) > 0 ORDER BY s.Priority", ARRAY_A);nif(sizeof($sections)){nprint "<ul class='sections'>";nforeach($sections as $section){n $sql = "SELECT * FROM Message59 WHERE Subdivision_ID=$section[Subdivision_ID] AND Checked=1 AND Magazine = $f_RowID ORDER BY Priority";n $result = listQuery($sql, "<li><a href='\".nc_message_link(\$data[Message_ID], 59).\"'>\$data[Name]</a></li>");n if(strlen($result)){n $result = "<ul>$result</ul>";n }n print "<li><div>".$section[Subdivision_Name]."</div>$result</li>";n n}nprint "</ul>";n}necho "', TitleTemplate = '$f_Name - $f_month, $f_Year', AddTemplate = '', EditTemplate = '', AddActionTemplate = '', EditActionTemplate = '', SearchTemplate = '', FullSearchTemplate = '', SubscribeTemplate = '', Settings = 'if(!isset($srchPat[1]) && !isset($all) && $current_cc[Class_ID] == 71){n $query_where = "a.Year_Name=".date("Y");n}n$query_order = "a.Year DESC, a.Month DESC, Num DESC";n', AddCond = '', EditCond = '', SubscribeCond = '', NL2BR = '0', CheckActionTemplate = '', DeleteActionTemplate = '';
CREATE TABLE Message%INSERT_ID% (Message_ID int(11) NOT NULL auto_increment,User_ID int(11) NOT NULL default '0',Subdivision_ID int(11) NOT NULL default '0',Sub_Class_ID int(11) NOT NULL default '0',Priority int(11) NOT NULL default '0',Checked tinyint(4) NOT NULL default '1',TimeToDelete date default NULL,TimeToUncheck date default NULL,IP varchar(15) default NULL,UserAgent varchar(255) default NULL,Parent_Message_ID int(11) NOT NULL default '0',Created datetime NOT NULL default '0000-00-00 00:00:00',LastUpdated timestamp(14) NOT NULL,LastUser_ID int(11) NOT NULL default '0',LastIP varchar(15) default NULL,LastUserAgent varchar(255) default NULL,Keyword varchar(255) NOT NULL default '',Name char(255) NOT NULL,month int NOT NULL,Year int NOT NULL,Num int NOT NULL, PRIMARY KEY (Message_ID),UNIQUE KEY Sub_Class_ID_2 (Sub_Class_ID,Message_ID,Keyword),KEY User_ID (User_ID),KEY LastUser_ID (LastUser_ID),/*KEY Sub_Class_ID (Sub_Class_ID),*/ KEY Subdivision_ID (Subdivision_ID),KEY Parent_Message_ID (Parent_Message_ID)) TYPE=MyISAM;
INSERT INTO Field (Class_ID, Field_Name, Description, TypeOfData_ID, Format, NotNull, Priority, DoSearch, DefaultState, TypeOfEdit_ID) VALUES (%INSERT_ID%,'Name', 'Номер журнала', 1, '', 1, 0, 0, '', 1);
INSERT INTO Field (Class_ID, Field_Name, Description, TypeOfData_ID, Format, NotNull, Priority, DoSearch, DefaultState, TypeOfEdit_ID) VALUES (%INSERT_ID%,'month', 'Месяц', 4, 'months', 1, 3, 1, '', 1);
INSERT INTO Field (Class_ID, Field_Name, Description, TypeOfData_ID, Format, NotNull, Priority, DoSearch, DefaultState, TypeOfEdit_ID) VALUES (%INSERT_ID%,'Year', 'Год', 4, 'Year', 1, 4, 1, '', 1);
INSERT INTO Field (Class_ID, Field_Name, Description, TypeOfData_ID, Format, NotNull, Priority, DoSearch, DefaultState, TypeOfEdit_ID) VALUES (%INSERT_ID%,'Num', 'Номер журнала', 2, '', 1, 5, 1, '', 1);
05.03.2008, 22:02
Гость
Гость

Проблема стала еще более интересной

Я в шаблоне написал буква а перед именем поля, и вот что мне выдала система
$query_where = "a.Year_Name=".date("Y");


Query: SELECT a.Name,tbl664.months_Name as tbl664name, tbl664.months_ID as tbl664id,tbl667.Year_Name as tbl667name, tbl667.Year_ID as tbl667id,a.Num,a.Message_ID, a.User_ID, a.IP, a.UserAgent, a.LastUser_ID, a.LastIP, a.LastUserAgent, a.Priority, a.Keyword,a.Checked, a.Created, a.LastUpdated+0 as LastUpdated FROM (Message71 AS a ) LEFT JOIN Classificator_months AS tbl664 ON a.month=tbl664.months_ID LEFT JOIN Classificator_Year AS tbl667 ON a.Year=tbl667.Year_ID LEFT JOIN Subdivision AS sub ON sub.Subdivision_ID=a.Subdivision_ID LEFT JOIN Sub_Class AS cc ON cc.Sub_Class_ID=a.Sub_Class_ID WHERE 1=1 AND a.Subdivision_ID=373 AND a.Sub_Class_ID=88 AND a.Year_Name=2008 AND a.Checked=1 AND a.Message_ID=44

Error: Unknown column 'a.Year_Name' in 'where clause'
06.03.2008, 07:18
resident
Веб-группа «Дабл Ю»

Зарегистрирован:
2005-01-10
Сообщений: 336

Гость писал(а):
У меня такое чувство что поле Системные настройки: в шаблоне обрабатывается при выводе одного объекта.

у вас правильное чувство

Гость писал(а):
Error: Unknown column 'a.Year_Name' in 'where clause'

Year_Name - поле списка а не поле шаблона

нежно сделать
if(!isset($srchPat[1]&&$action!='full')){
$query_where = "Year_Name=".date("Y");
}
198 196 2008-03-06 07:18:43 7327
Описание проекта