2

我有以下代码,它为我提供了前端项目的列表,但我希望这些链接在新的弹出窗口中打开。有没有办法我可以做到这一点?谢谢你。

echo '<div class="item_row_header">';

    for($i=0;$i<count($this->fields);$i++)  {
        echo '<div class="item_cell jdheader'.$this->fields[$i]->cssclass.'">';

        //to display the header with/without sorting option

        if(in_array($this->fields[$i]->type, array(10,11,12,13)))

            echo $this->fields[$i]->name;

        else

            echo JHTML::_('jdgrid.sort', $this->fields[$i]->name, 'field_'.$this->fields[$i]->id, @$this->cparams->filter_order_Dir, @$this->cparams->filter_order );

        echo '</div>';

    }

    echo '<div class="clr"></div></div>';

    }

echo '<div class="itemlist itemlist_type'.$this->type->id.'">';

if(count($this->items)) {

    //all the item list part display here

    for($i=0;$i<count($this->items);$i++)   {

        $item =  $this->items[$i];

        require(dirname(__FILE__).DS.'default_item.php');

    }

这是我使用上面的代码在前端得到的:

 <div class="item_row_header">
  <div class="item_cell jdheader"><a href="javascript:void(0);" id="sort" class='field_70 desc' title="Clique para ordenar por coluna">Título</a></div>
  <div class="item_cell jdheader">Fotos</div>
  <div class="item_cell jdheader"><a href="javascript:void(0);" id="sort" class='field_63 desc' title="Clique para ordenar por coluna">Cidade</a></div>
  <div class="item_cell jdheader"><a href="javascript:void(0);" id="sort" class='field_64 desc' title="Clique para ordenar por coluna">Estado</a></div>
  <div class="item_cell jdheader"><a href="javascript:void(0);" id="sort" class='field_60 desc' title="Clique para ordenar por coluna">Tipo do Imóvel</a></div>
  <div class="item_cell jdheader"><a href="javascript:void(0);" id="sort" class='field_67 desc' title="Clique para ordenar por coluna">Valor R$</a></div>
  <div class="clr"></div>
</div>
<div class="itemlist itemlist_type15">
  <div class="item_row_bg featured itemrow_type15">
    <div class="item_content">
      <div class="item_cell "><a href="/joomla/temporada/imoveis/itens/ver/temporada-destaque">Temporada Destaque</a></div>
      <div class="item_cell "><img src="http://mysite.com.br/joomla/images/joomd/thumbs/1350654862temporada-destaque.jpg" alt="Fotos" /></div>
      <div class="item_cell ">Exemplo de Cidade</div>
      <div class="item_cell ">São Paulo</div>
      <div class="item_cell ">Casa</div>
      <div class="item_cell ">600</div>
      <div class="clr"></div>
    </div>
  </div>
  <div class="item_row itemrow_type15">
    <div class="item_content">
      <div class="item_cell "><a href="/joomla/temporada/imoveis/itens/ver/temporada">Temporada</a></div>
      <div class="item_cell "><img src="http://mysite.com.br/joomla/images/joomd/thumbs/1350654792temporada.jpg" alt="Fotos" /></div>
      <div class="item_cell ">Exemplo de Cidade</div>
      <div class="item_cell ">São Paulo</div>
      <div class="item_cell ">Casa</div>
      <div class="item_cell ">800</div>
      <div class="clr"></div>
    </div>
  </div>
</div>

这是我解决它的方法:

我打开了 default_item.php 并发现了这个:

if($j==0)   {

echo '<a href="'.JRoute::_('index.php?option=com_joomd&view=item&layout=detail&typeid='.$item->typeid.'&id='.$item->id).'">';

echo $this->field->displayfieldvalue($item->id, $this->fields[$j]->id, true);

echo '</a>';

}

然后我可以使用 jQuery [http://swip.codylindley.com/popupWindowDemo.html][1] 调用弹出窗口

这是我的工作代码现在的样子:

echo '<a class="propriedade" href="'.JRoute::_('index.php?option=com_joomd&view=item&layout=detail&typeid='.$item->typeid.'&id='.$item->id).'">';

非常感谢大家的帮助。

4

2 回答 2

3

正如 Alex 所指出的,仅使用 PHP 是不可能的。PHP 是一种在页面加载之前发生的服务器端语言。您可以使用 HTML 和 JavaScript 实现此目的。

您应该查看 JavaScript 函数,该函数open()允许您打开一个具有精确宽度/高度和指定 URL 的新窗口。

在此处阅读有关 open() 的更多信息

示例代码:

myWindow=window.open('http://google.com','','width=200,height=200')

这将在一个尺寸为 200x200 像素的新窗口中打开 Google

要使用此代码,您必须将其插入<script>标签或外部 JavaScript 文件中。我建议将其用作这样的函数:

function newWindow(url, width, height)
{
    myWindow=window.open(url,'','width=' + width + ',height=' + height);
}

然后,您可以使用以下命令调用它:

newWindow('http://google.com', 200, 200)

您可以使用以下onCLick属性在代码中实现此功能:

<a href="#" onclick="newWindow('http://google.com', 200, 200)">Click Me</a>

使用 HTML 和 JavaScript 演示我的函数

我建议使用此功能的原因是target="_blank"在某些浏览器上使用该属性只会在一个新选项卡中打开,您可以使用它,但我假设您想要一个全新的窗口

现在您已经为您的问题添加了一些代码,我可以看到您有很多列表项,您可以简单地添加一个锚标记来使我的功能正常工作,例如:

<div class="item_cell "><img src="http://alii.com.br/joomla/images/joomd/thumbs/1350654792temporada.jpg" alt="Fotos" /></div>
<div class="item_cell ">Exemplo de Cidade</div>
<div class="item_cell ">São Paulo</div>
<div class="item_cell ">Casa</div>
<div class="item_cell ">800</div>

会成为:

<div class="item_cell "><a href="#" onclick="newWindow(URL, WIDTH, HEIGHT)"><img src="http://alii.com.br/joomla/images/joomd/thumbs/1350654792temporada.jpg" alt="Fotos" /></a></div>
<div class="item_cell "><a href="#" onclick="newWindow(URL, WIDTH, HEIGHT)">Exemplo de Cidade</a></div>
<div class="item_cell "><a href="#" onclick="newWindow(URL, WIDTH, HEIGHT)">São Paulo</a></div>
<div class="item_cell "><a href="#" onclick="newWindow(URL, WIDTH, HEIGHT)">Casa</a></div>
<div class="item_cell "><a href="#" onclick="newWindow(URL, WIDTH, HEIGHT)">800</a></div>
于 2012-10-26T20:30:24.500 回答
0

在游览标签中添加 target="_blank" 或使用 window.open 方法。

e.g.: 
<a href="http://google.com" target="_blank">Google</a>
or
<script>window.open('http://google.com','','width=200,height=200'); </script>
于 2012-10-26T20:29:07.797 回答