Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 88 Ответов
  • 14511 Просмотров
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
вот это вот - $document->getDescription(), оно дает (возвращает) тебе текущий дескрипшн страницы.
Точно также как строчкой выше JFactory::getDocument() дает(возвращает) текущую страницу. А теперь найди между этими двумя строчками принципиальную разницу - это и есть твоя ошибка (одна из первых)
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
да я понимаю что ошибка вызова функции, я то не знаю как правильно сделать
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Ниче ты не понимаешь.
Тебе функция возвращает значение. Ты его никуда не деешь, тоесть это значение в пустоту уходит.
Вот смотри: $view = JRequest::getVar('view', null)
Ты значение,возвращаемое функцией getVar присваеваешь переменной - $view. теперь $view содержит то что нам дала getVar()
Аналогично надо сделать и для getDescription() - тоеть завести переменную (название долго думать не придется - $description напрашивается сам по себе) Уловил фишку?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
Код: php
<?php
$view = JRequest::getVar('view', null);
$description = JRequest::getVar($description, null);
$document     = & JFactory::getDocument();
$config     = & JFactory::getConfig();
$description = $document->getDescription();
$limitstart    = JRequest::getVar('limitstart', 0, '', 'int');
$limit        = JRequest::getVar('limit', 8, '', 'int');
$currentpage =  ($limitstart * 2 + $limit) / $limit;
if ($view == 'category')
$curtitle = $document->title . ' — ' . JText::_("PAGE"). ' ' . $currentpage . ' — ' . $config->getValue('sitename');
if ($description == $description)
$curdescription = $document->description . ' — ' . JText::_("PAGE"). ' ' . $currentpage;
else
$curtitle = $document->title;
$document->setDescription( $curdescription );
$document->setTitle( $curtitle );
?>
совсем запутался...
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
я ни то что не знаю, я оказывается и не понимаю (беда в том что не знаю все эти функции, правила) пытаюсь как то разобраться не все понимаю
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
сам понимаю что кашу сделал... ну что доктор жить буду?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
$description = JRequest::getVar($description, null); - это лишнее. JRequest::getVar() получает переменную из строки запроса url'а. В урле нет никаких дескрипшнов.
И кроме того:
Код: php
$var = 'какоето_значение';
$var = 'новое_значение'

- угадай, что будет внутри $var в итоге? Правильно, 'новое_значение'
Это я привел упрощенную аналогию для

Код: php
$description = JRequest::getVar($description, null);
$description = $document->getDescription();

Далее.
Код: php
if ($description == $description)...

Ну тут вобще глупость полнейшая. Решил подстраховаться чтоли? Мол я это я? или не я? А может я это он?
Мол, вдруг $description кто-то подменил, надо же убедиться что $var == $var )))


....тут меня осенило..
А нафиг эти танцы с getDescription... у нас же есть $document->description ))

Пиши просто
$description = $document->description . ' — ' . JText::_("PAGE"). ' ' . $currentpage;
$document->setDescription( $description )

И затем засунь это, и вообще всю логику, нужную только для категории, в условие на проверку категории.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
На самом деле все очень просто. Главное понять принцип. Не нужно знать всех этих функций и прочих вещей.
Главное понять базовые вещи:

Есть такая штука как переменная. Она всегда идет со знаком доллара.
Код: php
$variable;
$peremenka;
$myVar;
это все перменные. В них можно чета записывать. И перезаписывать сколько угодно раз.
$myPerem = 50; // запишем в нее 50
echo $myPerem; // выдаст в браузер 50
$myPerem = 'Hello world!';
$myPerem = $myPerem . ' Bye bye!';
echo $myPerem; // выдаст Hello world! Bye bye!


Есть еще такая штука как функция. Это кусок кода, который выполняется каждый раз как мы ее вызываем
function sayHello(){
  echo 'Hello !';
}


sayHello(); //выдаст Hello!


функция может возвращать какоето значение. Например




сложитьДваЧисла($число1, $число2){
  $сумма = $число1 + $число2;
  return $сумма;
  echo 'WTF?'; // этот код уже не будет выполняться ни при каких условиях, ибо функция завершилась по return
}


$summ = сложитьДваЧисла(10, 20);
echo $summ; // 30
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
запутался... мне тяжело так сразу все понять.... а за советы спасибо!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
не... все ни....на не получается готов застрелиться... либо ошибки ибо тишина, да и возраст наверное не для учения уже
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
может все таки решение, на блюдечки с голубой каемочкой please?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Код: php
<?php
$view = JRequest::getVar('view', null);
if ($view == 'category'){

  $config     = & JFactory::getConfig();

  $limitstart    = JRequest::getVar('limitstart', 0, '', 'int');
  $limit        = JRequest::getVar('limit', 8, '', 'int');
  $currentpage =  ($limitstart * 2 + $limit) / $limit;

  $title = $document->title . ' — ' . JText::_("PAGE"). ' ' . $currentpage . ' — ' . $config->getValue('sitename');
  $description = $document->description . ' — ' . JText::_("PAGE"). ' ' . $currentpage;

  $document->setTitle( $title );
  $document->setDescription( $description );
}
?>
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
Fatal error: Call to a member function setTitle() on a non-object in
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Код: php
<?php
$view = JRequest::getVar('view', null);
if ($view == 'category'){
  $config      = & JFactory::getConfig();
 
  $limitstart  = JRequest::getVar('limitstart', 0, '', 'int');
  $limit       = JRequest::getVar('limit', 8, '', 'int');
  $currentpage =  ($limitstart * 2 + $limit) / $limit;
 
  $title       = $this->title . ' — ' . JText::_("PAGE"). ' ' . $currentpage . ' — ' . $config->getValue('sitename');
  $description = $this->description . ' — ' . JText::_("PAGE"). ' ' . $currentpage;
 
  $this->setTitle( $title );
  $this->setDescription( $description );
}
?>
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
мда странно ничего не изменилось... может я не так смотрю изменения
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Попробуй такой код вставить в blog.php:
Код: php
if ($this->pagination->get('pages.total') > 1) {
  $config = JFactory::getConfig();
  $document = JFactory::getDocument();

  $title = $document->title . ' — ' . JText::_("PAGE"). ' ' . $this->pagination->get('pages.current'). ' — ' . $config->getValue('sitename');
  $description = $document->description . ' — ' . JText::_("PAGE"). ' ' . $this->pagination->get('pages.current');
 
  $document->setTitle( $title );
  $document->setDescription( $description );
}
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
нет не помогло
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Что значит не помогло? Ты в своем шаблоне этот файл разместил? Он точно подхватывается на нужной тебе странице?
напиши чтоб убедиться:
Код: php
die('really executed');
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
и кеш чистил и в шаблоне и в blog.php работают только титли, причем если в blog.php то там кодировка слетает что ли символ тире не видно просто кака какая та
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
really executed выходит эта надпись на пустой странице, кодировку поменял. Не судьба видать
« Последнее редактирование: 01.04.2012, 09:43:23 от bahinn »
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
Все, варианты кончились?
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
А может как вариант, удалить description с остальных страниц категорий типа http://мой_сайт/раздел/категория.html?start=4, оставить description только на первой ссылки без ?start=цифры. Как это можно реализовать?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Вы хотите сказать что у Вас не работает код в разделе <head> шаблона сайта?
Код
<?php $this->setDescription( "Вася" ); ?>
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Вы хотите сказать что у Вас не работает код в разделе <head> шаблона сайта?
Код
<?php $this->setDescription( "Вася" ); ?>

Какая разница в каком разделе.

Сначала index.php "исполняется", тоесть выполняется весь php-код, затем парсится на предмет вставок <jdoc:*/>
Поэтому можно хоть в самый низ файла вставить код - разницы не будет.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
Нашел тему на одном форуме где описано как удалить, но почему то у меня ни чего не изменяется касательно description, даже попробовал удалить из blog.php  
Код: php
<?php echo $this->category->description; ?>
ничего не изменилось
« Последнее редактирование: 02.04.2012, 01:38:20 от bahinn »
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
Вы хотите сказать что у Вас не работает код в разделе <head> шаблона сайта?
Код
<?php $this->setDescription( "Вася" ); ?>
нет вставка такого кода ни к чему не приводит
*

bahinn

  • Захожу иногда
  • 57
  • 0 / 1
вот отрывок из той темы:
Для начала, получим значение переменной limitstart из адресной строки, и присвоим его, например переменной page 
Для этого, после третьей строки файла blog.php пишем такую вещь:
Код: php
if (isset($_GET['limitstart'])) {$page = $_GET['limitstart'];}
Теперь, нужно найти место в файле, где выводится описание и добавить туда простое условие.
Это место, строка 19. По умолчанию,она имеет такой вид:
Код: php
<?php echo $this->category->description; ?>
А мы,заменяем ее на такой:
Код: php
<?php if (!isset($page)) {echo $this->category->description; }?>
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Прошу прощения так как 1,5 не было под рукой
Как вариант в шаблон файла в <head>
Цитировать
<?php
$view = JRequest::getVar('view', null);
if ($view == 'category'){
if (isset($_GET['limitstart']))? $page = '. '.JText::_("PAGE"). ' - '.$_GET['limitstart'] : $page='';
echo'<meta name="description" content="Категория: '.$this->title.$page.'" >';
}
?>
А так надо думать откуда Вы описание хотите брать
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
bahinn, твой последний и пред-предпоследний пост вообще не касается meta description, ты говоришь о обычном описании категории, которое выводится на странице категории.
А мы долбимся над <meta name="description" />
Такое ощущение что ты не туда смотришь...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

php скрипт для вызова url адреса открытой страницы

Автор bigrash

Ответов: 10
Просмотров: 4076
Последний ответ 17.02.2024, 20:12:05
от Vastriet
Вместо некоторых разделов стали отображаться пустые страницы

Автор ch

Ответов: 0
Просмотров: 735
Последний ответ 04.12.2020, 15:07:27
от ch
Страницы не прогружаются до конца

Автор HeroYukki

Ответов: 0
Просмотров: 952
Последний ответ 11.09.2018, 21:12:00
от HeroYukki
Вместо главной страницы - содержимое файла корневого каталога index.php

Автор Igoritaly

Ответов: 2
Просмотров: 1496
Последний ответ 10.08.2017, 17:03:57
от Gosha5767
Не открываются некоторые страницы сайта

Автор nadin

Ответов: 5
Просмотров: 1495
Последний ответ 12.04.2017, 18:34:22
от SeBun