Ссылка через JS на полную новость

Тема в разделе "Другие языки", создана пользователем gls, 15 фев 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. gls

    gls Комбат

    Регистр.:
    11 янв 2007
    Сообщения:
    555
    Симпатии:
    280
    Может кто посоветует как сделать ссылку, чтобы при щелчке по рисунку в короткой новости переходить на полную. Куда вставлять ссылку нашел:
    PHP:
    $str=str_replace('[img]'.$img_id.'[/img]','<center><img align=center  src="/'.IMTB_DIR.$image['name'].'" alt="'.hesc($image['alt']).'" class="image"></center>',$str);
    а вот как добавить ссылу на js никак не получается, облазил весь инет и везде примеры со статическими страницами, а вот как вставить php переменную непонятно. Для примера что впринципе хочется это как на nnm.ru.
    HTML:
     
  2. Grabus

    Grabus Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    91
    Симпатии:
    31
    не совсем понятно, что тебе конкретно нужно.
    точнее совсем непонятно.
    опиши подробнее что и где тебе надо сделать.
     
  3. gls

    gls Комбат

    Регистр.:
    11 янв 2007
    Сообщения:
    555
    Симпатии:
    280
    обычно в короткой новости есть ссылка "Читать далее..." на полную, я хочу сделать такую ссылку на картинке (чтобы при клике по картинке пользователь переходил на полную новость) в короткой новости через js, но проблема в следующем:
    1. не знаю js.
    2. при поиске в инете нашел только примеры со статическими страницами, типа:
    <a href="javascript:void(0)"onclick="location.href='http://www.mysite.ru/page1.html';">page1</a>, а у меня сайт динамический, естественно нужно вставить вместо http://www.mysite.ru/page1.html php функцию вызова страницы, типа <a href="javascript:void(0)"onclick="location.href='.$page.';">page1</a>[/I], но ничего не получается. Вот проблема в этом.
     
  4. Grabus

    Grabus Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    91
    Симпатии:
    31
    вообще трудно что-то сказать, потому что мало что понятно.
    для начала покажи код где нужно вставить, от этого и плясать будем.
     
  5. gls

    gls Комбат

    Регистр.:
    11 янв 2007
    Сообщения:
    555
    Симпатии:
    280
    Вот код, куда нужно вставить js:
    PHP:
    function parse_imgs($str)
    {

        
    // картинки по номерам
        
    preg_match_all("#\[img\]([0-9]{1,6})\[/img\]#si",$str,$ret);
        foreach(
    $ret[1] as $img_id)
        {
            
    $image=row("SELECT * FROM `images` WHERE id='".i($img_id)."'");
            if(
    $image)
            {
                if(
    $image['nolink'])
                    
    $str=str_replace('[img]'.$img_id.'[/img]','<center><img align=center  src="/'.IMTB_DIR.$image['name'].'" alt="'.hesc($image['alt']).'" class="image"></center>',$str);
                else
                    
    $str=str_replace('[img]'.$img_id.'[/img]','<center><img align=center  src="/'.IMTB_DIR.$image['name'].'" alt="'.hesc($image['alt']).'" class="image"></center>',$str);
            }
            else
            
    $str=str_replace('[img]'.$img_id.'[/img]','<br>'.l('Картинка id').$img_id.l(' была удалена.').'<br> ',$str);
        }
        return 
    $str;

    }
    а вот php переменная .$post.[/I], в шаблон она вставляеся немного по другому [I]<?=$post[url]?>[/I]
     
  6. Grabus

    Grabus Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    91
    Симпатии:
    31
    ага, вроде ясно.

    попробуй так:
    PHP:
    $str=str_replace('[img]'.$img_id.'[/img]','<center><a href="javascript:void(0);" onclick="location.href=\''.$page[url].'\'"><img align=center  src="/'.IMTB_DIR.$image['name'].'" alt="'.hesc($image['alt']).'" class="image"></a></center>',$str);
    Добавлено через 3 минуты
    я там написал $page я не знаю как надо, потому что ты ...[url]. если я не правильно написал - исправь.
     
  7. gls

    gls Комбат

    Регистр.:
    11 янв 2007
    Сообщения:
    555
    Симпатии:
    280
    не хочет работать, посмотрел исходный html код, а там:
    HTML:
    <center><a href="javascript:void(0);" onclick="location.href=''"><img align=center  src="/media/pictures/thumbs_big/e_mail_commander_v143_86.png" alt="E-Mail Commander v1.4.3" class="image"></a></center>
     
  8. Grabus

    Grabus Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    91
    Симпатии:
    31
    заметь что написано onclick="location.href=''
    т.е. там где должна быть ссылка - там пусто.
    значит php функция не правельная, т.к. не возвращает адрес.
    на какой cms у тебя сайт?
     
  9. gls

    gls Комбат

    Регистр.:
    11 янв 2007
    Сообщения:
    555
    Симпатии:
    280
    на Cobra-Engine
     
  10. Grabus

    Grabus Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    91
    Симпатии:
    31
    блин, древний движек.

    но мне кажется ты что-то не то делаешь, ибо тот код что ты привел выше, находится в файле модуля bbcode.php.
    внутри функция которая просто ббкоды заменяет на смайлы и т.д.

    а тебе надо, как я понял, править код не тут, а в файле шаблона отвечающего за вывод анонса новостей.
     
Статус темы:
Закрыта.