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

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

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

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

Previous topic - Next topic

0 Members and 2 Guests 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