Jump to content
  • 0

Вставить скрипт Google Analytics на динамически-собираемую страницу


samorealization
 Share

Question

Добрый день.

Google Website Optimizer (сервис от Google Analytics) требует вставить спец. скрипт на одну единственную страницу. За этой страницей я собираюсь следить.

Проблема в том, что шапка и подвал у сайта сквозные. А мне нельзя код размещать на все страницы.

Контентная часть собирается динамически. Также у сайта много шаблонов разных (для разных типов страниц).

Также проблема в том, что сайт заказчика и его делали другие люди, до которых трудно "добраться". Поэтому мне нужно придумать что-то самому.

Начало кода главного шаблона вот такое:

<html>
<head>
<title>%title%</title>
<link href="/css/css.css" type="text/css" rel="stylesheet" />

Мне же нужно сразу за тегом <head> разместить свой скрипт. И чтобы скрипт был только на конкретной странице, которую я укажу.

Подскажите, пож., как мне максимально просто выполнить свою задачу? Куда смотреть, что искать, как менять?

Спасибо!

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Не хватает данных, чтоб ответить на ваш вопрос. Если сайт динамический то означает ли что это CMS ? Если да, то какая ? Если самописная, то ещё веселей. Есть ли у неё система шаблонов? Какая ?

Без этого помочь вам сможет только гадалка.

Link to comment
Share on other sites

  • 0

Размещает скрипт в "Сквозной шапке" но выводите его не везде а только там где URL совпадает с вашей страницей, например без лишних затей:

<?php
$url = $_SERVER['REQUEST_URI'];
$str = strstr ($url, 'моястраница.php');
if ($str!==false) { ?>
свой скрипт
<?php } ?>

Однако у меня смутное сомнение что "сквозная шапка" это просто шапка а не та часть которая в тэгах <head>

Link to comment
Share on other sites

  • 0

CMS самописная. Да, я понимаю, что информации не хватает. Ну, не могу же я выложить ftp-доступ сюда...

Там в файлах все нетривиально. Конфиги разные подключаются, длинные if-elsif

Логически я понимаю, что мне нужно сделать новый чанк и поставить что-то вроде

<html>
<head>
%new_chunk%
<title>%title%</title>
<link href="/css/css.css" type="text/css" rel="stylesheet" />

Так?

Файл длинный, но уж извините. Может это прольет свет на происходящее.

<?
require_once "admin/config.php"; // конфиг
require_once ("admin/mod/setup/config.php"); // Настройки сайта
$kods=stripslashes($kods);

include "tpl/class_template.php"; // Класс TPL
$tpl = new template();

session_start();

/* создать соединение */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");
@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");

// ЛОВИМ ПЕРЕМЕННЫЕ
$next=$_GET['next']; // Страница
$catid=$_GET['catid']; //
$action=$_GET['action']; //
$go4=$_GET['go4'];

// ПРОСТАЯ ЗАЩИТА
$next=trim(strip_tags($next));
$catid=trim(strip_tags($catid));
$action=trim(strip_tags($action));
$go4=trim(strip_tags($go4));

// ОБНУЛЕНИЯ
$left='';
$dopcss=''; // Shadowbox

// ДОПЗАЩИТА
if (!eregi("^([a-zA-Z0-9_-])*$", $next)){
$next='';
}
if (!eregi("^([a-zA-Z0-9_-])*$", $catid)){
$catid='';
}
if (!eregi("^([a-zA-Z0-9_-])*$", $action)){
$action='0';
}
if (!eregi("^([a-zA-Z0-9_-])*$", $go4)){
$go4='';
}

$curmenu=$next; // Горящее меню

// Вывод страниц
if ($next=="") {
// Настройки Главной страницы
require_once ("mod/parent/index.php");

$curmenu='glavn';
}
elseif ($next=='errors'){
$title='Ошибка';
$keyws='';
$descr='';
// Страница с ошибкой
$info='
<h1>Такой страницы на сайте нет!</h1>
Возможно она была удалена или перемещена администратором!';
}
elseif ($next=='map'){
// Карта сайта
require_once ("mod/mapsite/index.php");
$curmenu='map';
}
elseif ($next=='user'){
// Пользователи
require_once ("mod/user/index.php");
}
elseif ($next=='closed'){
$title='Доступ закрыт';
$name='Доступ закрыт!';
// Страница с ошибкой
$info='
<h1>У вас нет прав для просмотра этой страницы!</h1>';
}
else {
// Получаем параметры этого раздела
$query = mysql_query("SELECT * FROM iwix_razdel WHERE `rz_url`='$next' and `rz_show`='1' LIMIT 1;");
$itog = mysql_fetch_array($query);

// Если эта страница заблокированна или не существует
if(mysql_num_rows($query ) < 1 ) {
// Редирект 404
header("location: /errors/");
}
else {
// Постоянные данные
$name=$itog['rz_rusname'];
$url=$itog['rz_url'];
$rz_id=$itog['rz_id'];
$rz_pid=$itog['rz_pid'];
$mod=$itog['rz_mod'];

// Где находишься
$where='<a href="/" title="Главная">Главная</a> / <a href="/'.$next.'/" title="'.$name.'">'.$name.'</a>';

// ищем папу
if ($rz_pid != '0') {
$query5 = mysql_query("select `rz_url`,`rz_rusname`,`rz_pid`,`rz_dop1` from iwix_razdel WHERE `rz_id`='$rz_pid' and `rz_show`='1' LIMIT 1;");
if(mysql_num_rows($query5 ) < 1 ) {
// Папа заблокирован - Редирект 404
header("location: /errors/");
}
else {
$paps = mysql_fetch_array($query5);
$pap_url=$paps['rz_url'];
$pap_nam=$paps['rz_rusname'];
$curmenu=$pap_url; // для горящего меню
$where='<a href="/" title="Главная">Главная</a> / <a href="/'.$pap_url.'/" title="'.$pap_nam.'">'.$pap_nam.'</a> / <a href="/'.$next.'/" title="'.$name.'">'.$name.'</a>';

// ищем маму
$pap_pid=$paps['rz_pid'];
if ($pap_pid != '0') {
$query8 = mysql_query("select `rz_url`,`rz_rusname`,`rz_dop1` from iwix_razdel WHERE `rz_id`='$pap_pid' and `rz_show`='1' LIMIT 1;");
if(mysql_num_rows($query8 ) < 1 ) {
// Мама заблокирована - Редирект 404
header("location: /errors/");
}
else {
$mams = mysql_fetch_array($query8);
$mam_url=$mams['rz_url'];
$mam_nam=$mams['rz_rusname'];
$curmenu=$mam_url; // для горящего меню
$where='<a href="/" title="Главная">Главная</a> / <a href="/'.$mam_url.'/" title="'.$mam_nam.'">'.$mam_nam.'</a> / <a href="/'.$pap_url.'/" title="'.$pap_nam.'">'.$pap_nam.'</a> / <a href="/'.$next.'/" title="'.$name.'">'.$name.'</a>';
}
}
}
}

// Если все Ок - Определяем Контент
require_once ("mod/$mod/index.php");
}
}

// Где находишься
if ($where != ""){
$where='
<div class="where">
'.$where.'
</div>';
}

$content=$info;

// Потключаем ВЕРХНЕЕ МЕНЮ
$menutpl = new template();
$menutpl->set_value(
array(
"$curmenu"=>"class=\"cur\""
)
);

// Заносим все данные в одну переменную
$menutpl->parse("tpl/vmenu");
$menutpl->clear_unparsed("tpl/vmenu");
$vmenu = $menutpl->parse("tpl/vmenu");

// Потключаем НИЖНЕЕ МЕНЮ
$metpl = new template();
$metpl->set_value(
array(
"$curmenu"=>"class=\"cur\""
)
);

// Заносим все данные в одну переменную
$metpl->parse("tpl/nmenu");
$metpl->clear_unparsed("tpl/nmenu");
$nmenu = $metpl->parse("tpl/nmenu");

// РЕКЛАМОДАТЕЛЯМ
if ($next=="") {
$reklamm='';
}
else {
require_once ("admin/mod/articles/config.php");
$left = html_entity_decode($left);

if ($left!=''){
$left='
<table cellspacing="0" cellpadding="0" align="right" bgcolor="white">
<tr>
<td width="20" height="30"></td>
<td width="177">'.$left.'</td>
<td width="20"></td>
</tr>
<tr>
<td height="20" colspan="3"></td>
</tr>
<tr>
<td height="20" colspan="3" class="botmenu"></td>
</tr>
</table>';
}
$reklamm=$left;
}

// Последние новости
require_once ("mod/lastnews/index.php");

$form1='';
if ($next=="user") {
// $dopnews='';

// Авторизация на сайте
if ((!isset($_SESSION['uz_log'])) || (!isset($_SESSION['uz_pass']))) {
$form1=file_get_contents("tpl/top1.html"); // Верх - авторизация
}
else {
$form1='';

$uz_log=$_SESSION['uz_log']; // Логин
$uz_pass=$_SESSION['uz_pass']; // Пароль

$zapr7 = mysql_query("SELECT `us_id`,`us_name`,`us_fam`,`us_super` FROM iwix_users WHERE `us_email`='$uz_log' and `us_mdpass`='$uz_pass' and `us_show`='1' and `us_ban`='0' LIMIT 1;");
if(mysql_num_rows($zapr7 ) < 1 ) {
// Нет доступа
session_destroy();
header("location: /closed/");
}
else {
$mzm=mysql_fetch_array($zapr7);
$mz_id=$mzm['us_id'];
$mz_name=$mzm['us_name'];
$mz_fam=$mzm['us_fam'];
$novv=$mzm['us_super'];

$block='';
if ($novv==0){
$block='
<div class="block">
<div align="center"><b>Внимание!!!</b><br /></div>
<div align="justify">Вся вводимая Вами информация будет доступна на сайте - после проверки её модератором</div>
</div>';
}
$form1='
<br />
<div align="center"><b>'.$mz_fam.' '.$mz_name.'</b></div>
<br />
<div class="sm_link2"><img src="/img/ico_exit.gif" width="11" height="9" alt="просмотр данных" /> <a href="/user/profile/" title="просмотр данных">просмотр данных</a></div>
<div class="sm_link2"><img src="/img/ico_exit.gif" width="11" height="9" alt="редактирование" /> <a href="/user/settings/" title="редактирование">редактирование</a></div>
<div class="sm_link2"><img src="/img/ico_exit.gif" width="11" height="9" alt="Выход" /> <a href="/user/exit/" title="Выход">выход</a></div>
'.$block.'
<div class="small" align="right">Id: '.$mz_id.'</div>';
}
}
$form1='
<table width="217" cellspacing="0" cellpadding="0" align="right" bgcolor="white">
<tr>
<td width="20" height="30"></td>
<td width="177" align="left">'.$form1.'</td>
<td width="20"></td>
</tr>
<tr>
<td height="20" colspan="3"></td>
</tr>
<tr>
<td height="20" colspan="3" class="botmenu"></td>
</tr>
</table>
<div class="clear"></div>';
}

$god=date(Y);

// Данные для TPL
$tpl->set_value(
array(
"title"=>"$title",
"keyws"=>"$keyws",
"descr"=>"$descr",
"kods"=>"$kods",
"vmenu"=>"$vmenu",
"nmenu"=>"$nmenu",
"content"=>"$content",
"reklamm"=>"$reklamm",
"dopskid"=>"$dopskid",
"dopnews"=>"$dopnews",
"where"=>"$where",
"dopcss"=>"$dopcss",
"form1"=>"$form1",
"$curmenu"=>"class=\"cur\"",
"god"=>"$god"
)
);

// Заносим все данные в одну переменную
$tpl->parse("tpl/html");
$tpl->clear_unparsed("tpl/html");

echo $tpl->parse("tpl/html");

MYSQL_CLOSE();
?>

Link to comment
Share on other sites

  • 0

$url="/относительнаяссылкаоткорнясервера.html";
$new_chunk="Этот текст на всех страницах";
if ($url == $_SERVER['REQUEST_URI']) {$new_chunk="Этот текст на той которая в url"; }

// Данные для TPL
$tpl->set_value(
array(
"new_chunk"=>"$new_chunk",
"title"=>"$title",
"keyws"=>"$keyws",
"descr"=>"$descr",
"kods"=>"$kods",
"vmenu"=>"$vmenu",
"nmenu"=>"$nmenu",
"content"=>"$content",
"reklamm"=>"$reklamm",
"dopskid"=>"$dopskid",
"dopnews"=>"$dopnews",
"where"=>"$where",
"dopcss"=>"$dopcss",
"form1"=>"$form1",
"$curmenu"=>"class=\"cur\"",
"god"=>"$god"
)
);

Вроде типа того

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy