Как установить URL-адрес без параметра сайта в поисковом устройстве Google?

 <a class="dn-link" style=" color: #fff;"
    href="{$gsa_search_root_path_prefix}?{$all_results_url}">All results</a> 

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

<a class="dn-link" style=" color: #fff;"
    href="{$gsa_search_root_path_prefix}?{$all_results_url}&amp;site=erp_collection ">  results</a>

Надеюсь, кто-нибудь мне поможет.


person pradeepa    schedule 27.08.2014    source источник


Ответы (1)


Эта переменная состоит из:

<xsl:variable name="all_results_url"><xsl:value-of
          select="$no_q_dnavs_params"/>&amp;q=<xsl:value-of select="$original_q"/>
</xsl:variable>

Который сделан из:

<!-- *** url without q and dnavs param *** -->
<xsl:variable name="no_q_dnavs_params">
  <xsl:for-each
      select="/GSP/PARAM[(@name != 'start') and
                         (@name != $embedded_mode_root_path_param) and
                         (@name != $embedded_mode_resource_root_path_param) and
                         (@name != $embedded_mode_disable_style) and
                         (@name != 'swrnum') and
                         (@name != 'q') and
                         (@name != 'dnavs') and
                         (@name != 'epoch' or $is_test_search != '') and
                         not(starts-with(@name, 'metabased_'))]">
    <xsl:choose>
      <xsl:when test="@name = 'ip' and $show_ips_in_search_url = '0'">
        <!-- do nothing to remove 'ip' from the URL -->
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="@name"/><xsl:text>=</xsl:text>
        <xsl:value-of select="@original_value"/>
      </xsl:otherwise>
    </xsl:choose>
    <xsl:if test="position() != last()">
      <xsl:text disable-output-escaping="yes">&amp;</xsl:text>
    </xsl:if>
  </xsl:for-each>
</xsl:variable>

Таким образом, вы можете создать свою переменную без параметра сайта:

 <xsl:variable name="no_q_dnavs_params">
      <xsl:for-each
          select="/GSP/PARAM[(@name != 'start') and
                             (@name != $embedded_mode_root_path_param) and
                             (@name != $embedded_mode_resource_root_path_param) and
                             (@name != $embedded_mode_disable_style) and
                             (@name != 'swrnum') and
                             (@name != 'site') and
                             (@name != 'epoch' or $is_test_search != '') and
                             not(starts-with(@name, 'metabased_'))]">
        <xsl:choose>
          <xsl:when test="@name = 'ip' and $show_ips_in_search_url = '0'">
            <!-- do nothing to remove 'ip' from the URL -->
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="@name"/><xsl:text>=</xsl:text>
            <xsl:value-of select="@original_value"/>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:if test="position() != last()">
          <xsl:text disable-output-escaping="yes">&amp;</xsl:text>
        </xsl:if>
      </xsl:for-each>
    </xsl:variable>

Тем не менее, я думаю, вы хотите, чтобы start, dnavs и query были там. В любом случае, просто измените !=, чтобы исключить этот параметр из вашей переменной.

person Michael Cizmar    schedule 06.09.2014
comment
Вау, это работает. :) Вы сэкономили мое время. Спасибо, Майкл. Также просто хочу подтвердить, удаление параметра сайта повлияет на любое другое место? - person pradeepa; 08.09.2014
comment
Не стесняйтесь голосовать за ответ. Вы добавляете параметр обратно, так что все должно быть хорошо. Удаление параметра site будет означать, что GSA будет использовать default_collection - person Michael Cizmar; 23.09.2014
comment
Привет, Майкл, я хочу отобразить результаты из разъема внешней базы данных. Запрос обхода выбирает идентификатор, post_title, guid, post_content из wp_posts - person pradeepa; 29.10.2014