Галерея с/без alt или title - Page 2 Галерея с/без alt или title - Page 2
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Галерея с/без alt или title

Started by RedPage, December 26, 2007, 02:32:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Makc666

Quote from: olegm on July 03, 2009, 01:04:21 PM
Еслиб люди понимали как ОНО работает, наверно не писали бы здесь и не раздражали Вас Makc666. Если вы не знаете, не можете, не хотите помочь, то так бы и сказали. Имхо только вы не понимаете сути вопроса, другим он очевиден. Ваш тон оскорбителен и недостоин модератора, но не это главное. Увы, люди задают вопрос и никто не может им помочь найти ответ  :(

Я последний раз повторюсь, ни в одном вашем сообщении не написано, нет ни одного скриншота, ни одного порядка действий, чтобы можно было понять, о какой конкретно странице Вы говорите.
Мы не телепаты.

Plazik

Quote from: Alex Revo on July 03, 2009, 01:13:02 PM
Ну а что вам непонятно в английской теме, там 3 слова все комментируют...

Из файла themes/sample/theme.php копируете в theme.php вашей используемой темы функцию theme_html_picture()

В этой функции находите код:
$pic_html .= "<img src=\"" . $picture_url . "\" class=\"image\" border=\"0\" alt=\"{$lang_display_image_php['view_fs']}\" /><br />";

И меняете его на:
$pic_html .= "<img src=\"" . $picture_url . "\" class=\"image\" border=\"0\" alt=\"{$CURRENT_PIC_DATA['title']}\" /><br />";

Таким образом альт фото станет = заголовку фото.

Остальные вариации описаны не сложнее.
Попробовал этот вариант, вместо "Нажмите, чтобы посмотреть в полный размер" стал пустой текст, пробовал все варианты из английской темы - все равно пустой текст.

Alex Revo

А поля Назавние и Описание у фото заполнены при этом?

Plazik

Quote from: Alex Revo on July 08, 2009, 10:59:07 AM
А поля Назавние и Описание у фото заполнены при этом?
мм нет :) Заполнил для одной фотографии - появился alt.

Теперь вопрос, как вместо названия фотографии выводить в alt название альбома? Или как быстро сделать всем фотографиям в галерее название идентичное названию альбома, в котором они расположены?

Alex Revo

Сходу не скажу, но по логике, если в галерее есть переменная {$CURRENT_ALBUM_DATA['title']} и она определена в этой функции, то такой вариант сработает.

Чтобы быстро проставить название фото = названию альбома нужно будет выполнить ряд запросов к БД вида:
UPDATE `cpgXXXX_pictures` SET title="Название альбома" WHERE aid=номер_альбома;
но называть все фотки в альбоме его именем не самое лучшее решение.

Plazik

Quote from: Alex Revo on July 08, 2009, 12:00:55 PM
Сходу не скажу, но по логике, если в галерее есть переменная {$CURRENT_ALBUM_DATA['title']} и она определена в этой функции, то такой вариант сработает.
Вот спасибо, помогло. А то я всякие другие переменные пытаюсь вставить, а нужная такая простая оказалась  :D
Quote from: Alex Revo on July 08, 2009, 12:00:55 PM
но называть все фотки в альбоме его именем не самое лучшее решение.
Возможно и не лучшее, но если много альбомов с небольшим количеством фотографий то подойдет.

В идеале бы хотелось такой alt: название альбома - порядковый номер фотографии. Возможно ли такое сделать?

Alex Revo

Можно попробовать так, но я сомневаюсь в правильности запроса:
UPDATE `cpgXXXX_pictures` SET title="Название альбома - ".pid WHERE aid=номер_альбома;

Plazik

Quote from: Alex Revo on July 08, 2009, 12:35:45 PM
Можно попробовать так, но я сомневаюсь в правильности запроса:
UPDATE `cpgXXXX_pictures` SET title="Название альбома - ".pid WHERE aid=номер_альбома;
Спасибо, попозже попробую.

Мне сейчас не удается изменить alt для полно размерных фотографий, которые  javascrip'ом открываются, не найду нужное место, где вставить alt:
    if ($mime_content['content']=='image') {
        if (isset($image_size['reduced'])) {
            $winsizeX = $CURRENT_PIC_DATA['pwidth']+5;  //the +'s are the mysterious FF and IE paddings
            $winsizeY = $CURRENT_PIC_DATA['pheight']+3; //the +'s are the mysterious FF and IE paddings
            $pic_html = "<a href=\"javascript:;\" onclick=\"MM_openBrWindow('displayimage.php?pid=$pid&amp;fullsize=1','" . uniqid(rand()) . "','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=$winsizeX,height=$winsizeY')\">";
            $pic_title = $lang_display_image_php['view_fs'] . "\n==============\n" . $pic_title;
            $pic_html .= "<img src=\"" . $picture_url . "\" class=\"image\" border=\"0\" alt=\" {$CURRENT_ALBUM_DATA['title']} \" /><br />";
            $pic_html .= "</a>\n";
        } else {
            $pic_html = "<img src=\"" . $picture_url . "\" {$image_size['geom']} class=\"image\" border=\"0\" alt=\"{$CURRENT_ALBUM_DATA['title']} \" /><br />\n";
        }

Makc666

Quote from: Plazik on July 08, 2009, 12:52:01 PM
Мне сейчас не удается изменить alt для полно размерных фотографий, которые  javascrip'ом открываются, не найду нужное место, где вставить alt:

Там же есть текст, который выводится сейчас.

Ищём название его переменной в языковом файле:

$lang_fullsize_popup = array(                                                                                                                                                                                 
  'click_to_close' => 'Click image to close this window',                                                                                                                                                     
);


Открываем include/themes.inc.php и ищем, где встречается.

Вот, нужный кусок начинается на:
// Display the full size image
if (!function_exists('theme_display_fullsize_pic')) {  //{THEMES}
function theme_display_fullsize_pic()
{


Копируем всё данную функцию в нашу тему и изменяем как хотим.                                                                                                                                                                     
function theme_display_fullsize_pic()
{

Plazik

В том то и проблема, что я не знаю какую функцию написать, чтобы добиться нужного мне.
В этом коде:
              <?php     echo  '<a href="javascript: window.close()"><img src="'
                
htmlspecialchars($imagedata['path']) . '" '
                
$imagedata['geometry']
                . 
'alt="'
                
htmlspecialchars($imagedata['name'])
                . 
'" title="'
                
htmlspecialchars($imagedata['name'])
                . 
"\n" $lang_fullsize_popup['click_to_close']
                . 
'" /></a><br />' ."\n";
               
?>

мне надо, чтобы вместо htmlspecialchars($imagedata['name']) выводилось название альбома. Разные функции перепробовал, ничего не получается.

Makc666

Quote from: Plazik on August 31, 2009, 07:57:14 PM
В том то и проблема, что я не знаю какую функцию написать, чтобы добиться нужного мне.
В этом коде:
              <?php     echo  '<a href="javascript: window.close()"><img src="'
                
htmlspecialchars($imagedata['path']) . '" '
                
$imagedata['geometry']
                . 
'alt="'
                
htmlspecialchars($imagedata['name'])
                . 
'" title="'
                
htmlspecialchars($imagedata['name'])
                . 
"\n" $lang_fullsize_popup['click_to_close']
                . 
'" /></a><br />' ."\n";
               
?>

мне надо, чтобы вместо htmlspecialchars($imagedata['name']) выводилось название альбома. Разные функции перепробовал, ничего не получается.

В скопированной в файл theme.php функции:
function theme_display_fullsize_pic()

после строки:
global $lang_errors, $lang_fullsize_popup, $lang_charset;

добавить строку:
global $album_name;

Потом используйте $album_name, где угодно в данной функции.

Plazik