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

Как исправить вывод навигации в фотогалерее

21.02.2009, 12:20
Гость
Гость

Здравствуйте. Помогите пожалуйста.
У меня такая проблема. Есть компонент "Наша фотогалерея", в котором за основу взят стандартный компонент и необходимо чтобы при навигации "Назад" и "Далее" ссылки со страницей с фотографией 2 (www.mysite.ru/superfotos/myfoto_2.htm) вели на страничку вида www.mysite.ru/superfotos/myfoto_1.htm и www.mysite.ru/superfotos/myfoto_3.htm.
В компоненте есть функция которая отвечает за вывод навигации:
function imgNavigation($prevText='Назад',$nextText='Далее',$deliver=' | ')
В ней прописаны такие строчки:
global $cc_settings;global $classID;global $cc;global $SortBy;global $f_RowID;global $current_sub;global $isNaked; $out = NULL; $SortBy = listQuery("SELECT SortBy FROM Class WHERE Class_ID=$classID", "\$data[SortBy]"); if(!$SortBy) $SortBy = "Priority DESC, LastUpdated DESC"; $SQLres = mysql_query("SELECT Message_ID FROM Message$classID WHERE Sub_Class_ID=$cc ORDER BY $SortBy"); if($SQLres) { while( $SQLresult = mysql_fetch_array($SQLres) ) {$IDs_array[] = $SQLresult['Message_ID']; }$i = 0; while( $i<count($IDs_array) ) { if($IDs_array[$i]==$f_RowID)
{$out .= "<div class='nc_prev_next'>"; if( $i>0 ) $out .= "<span class='nc_prev_link'><a href='".$current_sub[Hidden_URL]
.$current_sub[EnglishName]."_".$IDs_array[$i-1].".html$isNaked'>$prevText</a></span>"; if( $i>0 && ($i+1)<count($IDs_array) ) $out .= $deliver; if( ($i+1)<count($IDs_array) ) $out .= "<span class='nc_next_link'><a href='".$current_sub[Hidden_URL]
.$current_sub[EnglishName]."_".$IDs_array[$i+1]."
.html$isNaked'>$nextText</a></span>";

Т.к. прописано Hidden_URL и EnglishName (ключевое слово) текущего раздела (superfotos), то навигация выдается в виде www.mysite.ru/superfotos/superfotos_1.htm и www.mysite.ru/superfotos/superfotos_3.htm, и ведет в никуда, а должна вести на страницы www.mysite.ru/superfotos/myfoto_1.htm и www.mysite.ru/superfotos/myfoto_3.htm, в разделе superfotos был использован компонент фотогалереи с ключевым словом myfoto (заказчик так желает), и при выводе всей фотогалереи путь к каждой фотографии прописан верно, а при навигации по одной фотографии - неправильно. Переменные $current_cc[EnglishName], $nextLink, $prevLink не работают (Netcat 3.0 версия Standard).
Как исправить вывод фотогалереи?
21.02.2009, 13:34
xsite
Веб-студия XSite

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

Lenokk писал(а):
Здравствуйте. Помогите пожалуйста.
У меня такая проблема. Есть компонент "Наша фотогалерея", в котором за основу взят стандартный компонент и необходимо чтобы при навигации "Назад" и "Далее" ссылки со страницей с фотографией 2 (www.mysite.ru/superfotos/myfoto_2.htm) вели на страничку вида www.mysite.ru/superfotos/myfoto_1.htm и www.mysite.ru/superfotos/myfoto_3.htm.
В компоненте есть функция которая отвечает за вывод навигации:
function imgNavigation($prevText='Назад',$nextText='Далее',$deliver=' | ')
В ней прописаны такие строчки:
global $cc_settings;global $classID;global $cc;global $SortBy;global $f_RowID;global $current_sub;global $isNaked; $out = NULL; $SortBy = listQuery("SELECT SortBy FROM Class WHERE Class_ID=$classID", "\$data[SortBy]"); if(!$SortBy) $SortBy = "Priority DESC, LastUpdated DESC"; $SQLres = mysql_query("SELECT Message_ID FROM Message$classID WHERE Sub_Class_ID=$cc ORDER BY $SortBy"); if($SQLres) { while( $SQLresult = mysql_fetch_array($SQLres) ) {$IDs_array[] = $SQLresult['Message_ID']; }$i = 0; while( $i<count($IDs_array) ) { if($IDs_array[$i]==$f_RowID)
{$out .= "<div class='nc_prev_next'>"; if( $i>0 ) $out .= "<span class='nc_prev_link'><a href='".$current_sub[Hidden_URL]
.$current_sub[EnglishName]."_".$IDs_array[$i-1].".html$isNaked'>$prevText</a></span>"; if( $i>0 && ($i+1)<count($IDs_array) ) $out .= $deliver; if( ($i+1)<count($IDs_array) ) $out .= "<span class='nc_next_link'><a href='".$current_sub[Hidden_URL]
.$current_sub[EnglishName]."_".$IDs_array[$i+1]."
.html$isNaked'>$nextText</a></span>";

Т.к. прописано Hidden_URL и EnglishName (ключевое слово) текущего раздела (superfotos), то навигация выдается в виде www.mysite.ru/superfotos/superfotos_1.htm и www.mysite.ru/superfotos/superfotos_3.htm, и ведет в никуда, а должна вести на страницы www.mysite.ru/superfotos/myfoto_1.htm и www.mysite.ru/superfotos/myfoto_3.htm, в разделе superfotos был использован компонент фотогалереи с ключевым словом myfoto (заказчик так желает), и при выводе всей фотогалереи путь к каждой фотографии прописан верно, а при навигации по одной фотографии - неправильно. Переменные $current_cc[EnglishName], $nextLink, $prevLink не работают (Netcat 3.0 версия Standard).
Как исправить вывод фотогалереи?


Вместо $current_sub[EnglishName] нужно $cc_env["EnglishName"]

xsite
21.02.2009, 14:50
Гость
Гость

xsite писал(а):

Вместо $current_sub[EnglishName] нужно $cc_env["EnglishName"]


Здравствуйте! Попробовала этот код. Все равно не работает. Выдает ссылку в виде www.mysite.ru/superfotos/_2.htm
21.02.2009, 16:56
Гость
Гость

Может быть как-то можно обойтись без вызова этой функции после этого выражения <div class='nc_full nc_photogallery' id='nc_photogallery'>
".( !$popup && $f_Title ? "<h3>$f_Title</h3>" : NULL )."
<img src='$f_BigPhoto' alt='$f_Title' $imgSize[3] />
".( !$popup && $f_Comment ? "<div class='nc_description'>$f_Comment</div>" : NULL )."

а воспользоваться $prevLink и $nextLink?
Подскажите пожалуйста как это осуществить для фотогалереи.
21.02.2009, 18:39
xsite
Веб-студия XSite

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

Lenokk писал(а):
Может быть как-то можно обойтись без вызова этой функции после этого выражения <div class='nc_full nc_photogallery' id='nc_photogallery'>
".( !$popup && $f_Title ? "<h3>$f_Title</h3>" : NULL )."
<img src='$f_BigPhoto' alt='$f_Title' $imgSize[3] />
".( !$popup && $f_Comment ? "<div class='nc_description'>$f_Comment</div>" : NULL )."

а воспользоваться $prevLink и $nextLink?
Подскажите пожалуйста как это осуществить для фотогалереи.

В функцию надо добавить
Код:
global $cc_env;


xsite
21.02.2009, 19:27
Гость
Гость

К сожалению, снова не работает..
22.02.2009, 16:28
den

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

Вы определитесь, что именно нужно - $current_sub[Hidden_URL] или $current_cc[EnglishName], т.к. обсуждаемая здесь переменная просто не существует. Для верности, используемый массив лучше сделать глобальным (или просто проверить видимость).

PS: исходное сообщение не читал, просто бросилось в глаза несоответствие...

 
198 196 2009-02-22 16:28:32 9578
Описание проекта