Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как создать условие для страницы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Mike_v
Отправлено: 22 Августа, 2016 - 11:46:50
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




CODE (php):
скопировать код в буфер обмена
  1.  // META
  2.     $r = array(); $r[0] = "";
  3.     if (isset($categoryID) && !isset($productID) && $categoryID>0)
  4.     {
  5.         $q = db_query("SELECT name, description FROM ".CATEGORIES_TABLE." WHERE categoryID<>0 and categoryID='$categoryID'") or die (db_error());
  6.         $r = db_fetch_row($q);
  7.         $page_meta = str_replace("\"","'",$r[0].", ".$r[1]);
  8.     }
  9.     else if (isset($productID) && $productID>0)
  10.     {
  11.         $q = db_query("SELECT name, product_code FROM ".PRODUCTS_TABLE." WHERE productID='$productID'") or die (db_error());
  12.         $r = db_fetch_row($q);
  13.         $page_meta = str_replace("\"","'",$r[0].", ".$r[1]);
  14.     }
  15.     else $page_meta = CONF_SHOP_NAME."";
  16.  
  17.  

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

А как прописать условие, чтобы для статьи (по определенному урл) выводилось другое описание, например CONF_SHOP_OBZOR


Отредактировано модератором: Мелкий, 22 Августа, 2016 - 12:12:59
 
 Top
miketomlin
Отправлено: 22 Августа, 2016 - 22:24:37
Post Id


Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016  


Помог: 5 раз(а)




Что такое CONF_SHOP_OBZOR? В коде выше в константах содержатся имена таблиц, а это что? Если тут тоже имя таблицы, добавьте аналогичный код.

Вообще же метаданные можно хранить во всех записях, на основе кот. строятся страницы, и написать универсальный код выборки этих данных, а заодно и все прочих полей. В нормальных движках это часто автоматом делается – не нужно писать ни единой строчки кода.
 
 Top
Mike_v
Отправлено: 18 Сентября, 2016 - 13:35:09
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




miketomlin пишет:
Что такое CONF_SHOP_OBZOR? В коде выше в константах содержатся имена таблиц, а это что? Если тут тоже имя таблицы, добавьте аналогичный код.

Вообще же метаданные можно хранить во всех записях, на основе кот. строятся страницы, и написать универсальный код выборки этих данных, а заодно и все прочих полей. В нормальных движках это часто автоматом делается – не нужно писать ни единой строчки кода.

Спасибо за ответ. На данный момент менять устаревший движок нет возможности. Хочется хотя бы немножко его "причесать". Хотя бы основы. Подскажите как правильно, можно за вознаграждение. Только не хочется из-за такой мелочи давать доступ к серверу.
Сейчас выводится так в html:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <head>
  2. <meta name="Description" content="{$page_meta|default:"Shop-Script "}">
  3. <meta name="KeyWords" content="{$page_keywords|default:"Shop-Script "}">
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <link rel=STYLESHEET href="style1.css" type="text/css">
  6.  
  7. <meta http-equiv="Content-Type" content="text/html; charset={$smarty.const.DEFAULT_CHARSET}">
  8. <title>{$page_title|default:"Shop-Script "}</title>
  9.  
  10.  
  11. <meta name="Title" content="{$page_title|default:"Shop-Script "}">
  12.  
  13. </head>
  14.  


Переменные прописываются здесь в php:
CODE (htmlphp):
скопировать код в буфер обмена
  1. // head variables definition: title, meta
  2.  
  3.         // title
  4.         $r = array(); $r[0] = "";
  5.         if (isset($categoryID) && !isset($productID) && $categoryID>0)
  6.         {
  7.                 $q = db_query("SELECT name FROM ".CATEGORIES_TABLE." WHERE categoryID<>0 and categoryID='$categoryID'") or die (db_error());
  8.                 $r = db_fetch_row($q);
  9.                 $page_title = str_replace("\"","'",$r[0]." - ".CONF_SHOP_NAME);
  10.         }
  11.         else if (isset($productID) && $productID>0)
  12.         {
  13.                 $q = db_query("SELECT name FROM ".PRODUCTS_TABLE." WHERE productID='$productID'") or die (db_error());
  14.                 $r = db_fetch_row($q);
  15.                 $page_title = str_replace("\"","'",$r[0]." - ".CONF_SHOP_NAME);
  16.         }
  17.         else $page_title = CONF_SHOP_NAME;
  18.  
  19.  
  20.    // META
  21.     $r = array(); $r[0] = "";
  22.     if (isset($categoryID) && !isset($productID) && $categoryID>0)
  23.    {
  24.        $q = db_query("SELECT description FROM ".CATEGORIES_TABLE." WHERE categoryID<>0 and categoryID='$categoryID'") or die (db_error());
  25.         $r = db_fetch_row($q);
  26.         $page_meta = str_replace("\"","'",$r[0].", ".$r[1]);
  27.     }
  28.     else if (isset($productID) && $productID>0)
  29.         {
  30.                 $q = db_query("SELECT brief_description FROM ".PRODUCTS_TABLE." WHERE productID='$productID'") or die (db_error());
  31.                 $r = db_fetch_row($q);
  32.                 $page_meta = str_replace("\"","'",$r[0].", ".$r[1]);
  33.         }
  34.         else $page_meta = CONF_SHOP_DESCRIPTION.", ";
  35.  
  36.  
  37.         $smarty->assign("page_meta",$page_meta);
  38.         $smarty->assign("page_title",$page_title);
  39.  
  40.  
  41.        $page_description = CONF_SHOP_DESCRIPTION.",Shop-Script ";
  42.        $page_keywords = CONF_SHOP_KEYWORDS.",Shop-Script ";
  43.  
  44.        $smarty->assign("page_description",$page_description);
  45.        $smarty->assign("page_keywords",$page_keywords);
  46.  
  47.  
  48.  
  49. ?>
  50.  


значения CONF_SHOP_DESCRIPTION и CONF_SHOP_KEYWORDS вводятся вручную в админ панели движка.
еще я создал значения CONF_OBZOR1_DESCRIPTION , CONF_OBZOR2_DESCRIPTION , CONF_OBZOR3_DESCRIPTION

Хотелось бы эти значения выводить в meta name="Description" по условию урл статьи (для трех разных УРЛов).
Как я понимаю после строки у меня прописаны условия:
-для категорий одно
- для товаров другое
- для ни категорий ни товаров третье
Вот как сюда добавить еще условие , что когда статья - то $page_meta =CONF_OBZOR1_DESCRIPTION
 
 Top
miketomlin
Отправлено: 18 Сентября, 2016 - 20:44:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016  


Помог: 5 раз(а)




Возможно, можно подобрать и более простое условие на основе имеющихся переменных, но в общем, если не вдаваться в детали имеющегося окружения, для конкретной статьи можно сделать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. elseif ($_SERVER['REQUEST_URI']=='/bla-bla-bla') $page_meta = CONF_OBZOR1_DESCRIPTION;
  3.  
 
 Top
Mike_v
Отправлено: 18 Сентября, 2016 - 21:01:21
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




miketomlin пишет:
Возможно, можно подобрать и более простое условие на основе имеющихся переменных, но в общем, если не вдаваться в детали имеющегося окружения, для конкретной статьи можно сделать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. elseif ($_SERVER['REQUEST_URI']=='/bla-bla-bla') $page_meta = CONF_OBZOR1_DESCRIPTION;
  3.  

Это именно то, что мне было нужно.
Осталось проверить. Отпишусь.
 
 Top
Mike_v
Отправлено: 19 Сентября, 2016 - 15:11:26
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




miketomlin пишет:
Возможно, можно подобрать и более простое условие на основе имеющихся переменных, но в общем, если не вдаваться в детали имеющегося окружения, для конкретной статьи можно сделать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. elseif ($_SERVER['REQUEST_URI']=='/bla-bla-bla') $page_meta = CONF_OBZOR1_DESCRIPTION;
  3.  

Работает. Только добавил в конце кавычки и запятую. Недопонял для чего, но без них - ошибка.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  $page_meta = CONF_OBZOR1_DESCRIPTION.", ";

И, да простят меня модеры за оффтоп, но пожалуй именно для того и нужны форумы, чтобы в общении находить решение. Реально, ответ прост для профи. Но для меня крайне важен, так как я не программист, а давать доступ к серверу из-за такой небольшой правки фрилансерам не хочется.
Так что спасибо miketomlin за то, что вник в суть вопроса.
(Добавление)
Если не трудно поясните, орфографию выражения:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <meta name="Description" content="{$page_description|default:"Shop-Script"}">

- выводится переменная page_description, затем палка и еще надпись.
1 вопрос: пишется | или / ??? (встречал такое написание)
2 "Shop-Script" выведется если page_description нету???
 
 Top
miketomlin
Отправлено: 19 Сентября, 2016 - 19:37:45
Post Id


Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016  


Помог: 5 раз(а)




Фигурные скобки и их содержимое не для PHP, а для используемого вами шаблонизатора. Копайте его синтаксис. Думаю, вы правильно уловили суть этой записи.
 
 Top
Mike_v
Отправлено: 21 Сентября, 2016 - 11:48:41
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




miketomlin пишет:
Фигурные скобки и их содержимое не для PHP, а для используемого вами шаблонизатора. Копайте его синтаксис. Думаю, вы правильно уловили суть этой записи.

нужен помощник. Цель такая - нужно внести изменения в код движка (например как в ветке). Помощник говорит: "Дай мне такие-то файлы". Я - передаю. Он - изменяет. Я - перечисляю.
Ибо при поверхностном рассмотрении PHP прост, но чем глубже - тем сложнее. И то, что сложно одному, - легко другому.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB