Название раздела

644
.
Simba
Кадило крутится, лавэха мутится
# Sitego (14.09.2016 / 17:21)
Читаю во многих темах эти все тёрки по поводу переводов и озадачен мыслью - покажите мне хоть один мультиязычный сайт (в полном смысле этого понятия) на JohnCMS. На счёт названия ссылок и менюшек на л
Полная мультиязычность делается по другому.
В джоне это просто возможность сделать сайт на языке, отличном от русского и не напрягаться с переводом.
Обычный полностью мультиязычный сайт конечно на джоне сделать чтобы надо попотеть...
.
Enter нажат, к чему теперь рыданья…

Simba, ну так а я о чём? Зачем все эти тёрки с языковыми файлами, если можно непосредственно в файлах сайта прописать названия на нужном языке? Баловство. Как будто кто-то собирается менять название ссылок чаще, чем несколько раз в год. Если так, то тогда вообще не важно что там написано, можно писать например "абырвалг"

.
MARAZM
КИДАЛА!!! Дел не иметь!
# ДоХтор (14.09.2016 / 17:15)
А ты попробуй вынести подключение шапки после switch'а - результат должен быть такой же, но дублирующегося кода будет меньше.
ну так обычно идет
ядро
место
тайтл
шапка
свитч
кейс 1
кейс 2
...
кейс 100500

в таком случае все кейсы будут иметь один тайтл.

ядро
место

свитч
кейс 1
тайтл
шапка
кейс 2
тайтл
шапка
...
кейс 100500
тайтл
шапка

в таком будет каждому свой.
ну или я не так тебя понял?
кажется понял
.

MARAZM,

ну или я не так тебя понял?
Не знаю, так или нет, но попробую написать код для примера.
.
ДоХтор

MARAZM,

демонстрационный пример (+/-)
<?php

const _IN_JOHNCMS = 1;
require_once '../incfiles/core.php';

!isset($_GET['go']) ?: $go = functions::checkin($_GET['go']);

switch($go) {
case 'forum':
    $textl = 'Форум';
    break;
case 'gallery':
    $textl = 'Галерея';
    break;
case 'library':
    $textl = 'Библиотека';
    break;
default:
    $textl = 'Главная';
    break;
}
// Подключаем head.php после переключателя switch
require_once '../incfiles/head.php';

echo 'Вы в разделе <b>'. $textl .'</b><br />'.
    '<a href="?go=forum">Форум</a><br />'.
    '<a href="?go=gallery">Галерея</a><br />'.
    '<a href="?go=library">Библиотека</a><br />'.
    '<a href="?">На главную</a><br />';

require_once '../incfiles/end.php';
____________________________
И разумеется, в заголовке браузера <title> будет корректно перезаписываться.
.
(\/)____o_O____(\/)

ДоХтор, Макс писал крутую штуку с буфером, там можно в любом месте было задать титл

.
# Koenig (14.09.2016 / 19:37)
ДоХтор, Макс писал крутую штуку с буфером, там можно в любом месте было задать титл
Да, я видел ) Даже изучал его класс на гитхабе - сперва не мог понять, как создаётся у него объект класса, если конструктор приватный ... Ну а потом дочитал код до метода getInstance(), и понял, что он-то и создаёт экземпляр класса PageBuffer.
.

3мя строчками кода на js можно сделать.
4мя на пхп через буфер.
более того, я бы настоятельно рекомендовал использовать это.
не важно каким способом, но начать генерить из контента метатеги, титлы и микроразметку

.
ramzes
малость говнокода (+/-)
function customHeaderRegistry($name = null, $value = null, $tag = false)
{
    static  $data = [];

    if(is_null($name) AND is_null($value)){
            return $data;
        }else{
        if($tag){
            $data['tags'][$name] = $value;

        }else{
            $data[$name] = $value;

        }

    }

}


function createCustomHeader(array $header = [])
{
    customHeaderRegistry('boxstart', isset($header['boxstart']) ? $header['boxstart'] : '<newheader>');
    customHeaderRegistry('boxend', isset($header['boxend']) ? $header['boxend'] : '</newheader>');
    customHeaderRegistry('tags', isset($header['tags']) ? $header['tags'] : []);
    ob_start();
    
}


function setCustomHeader($tag, $value)
{
    customHeaderRegistry($tag, $value, true);

}


function replaceCustomHeader()
{
    $data = customHeaderRegistry();
    $html = ob_get_contents();
    ob_clean();
    foreach ($data['tags'] as $tag=>$value){
        $html = preg_replace('|(<[^>]+'.$tag.'.*?)content="([^"]+)|is', '\1 content="'.$value, $html);
        $html = preg_replace('|<'.$tag.'>([^<]+)|is', '<'.$tag.'>'.$value, $html);
    }

    ob_start();
    echo $html;
}


createCustomHeader(); // запускаем в самой самой шапке


setCustomHeader('title', 'test script');
setCustomHeader('description', 'test 222');
// в любом месте скрипта вставляем подобные строчки




replaceCustomHeader(); // в самоооом самом конце


<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
    <meta name="HandheldFriendly" content="true">
    <meta name="MobileOptimized" content="width">
    <meta content="yes" name="apple-mobile-web-app-capable">
    <meta name="Generator" content="JohnCMS, http://johncms.com
    <meta name="keywords" content="johncms, cms, php, wap, mobile">
    <meta name="description"   content="test 222">
    <link rel="stylesheet" href="http://johncms.com/theme/selemet/style.css">
    <link rel="shortcut icon" href="http://johncms.com/favicon.ico">
    <link rel="alternate" type="application/rss+xml" title="RSS | Новости ресурса" href="http://johncms.com/rss/rss.php">
    <title>test script</title>
</head>
.
Добавлено: 14.09.2016 / 23:36
я конечно попросил помощи, это просто нечто, люблю этот сайт

Добавлено: 20.04.2017 / 09:18
Помогите вывести Название фильма

$res2 = mysql_fetch_assoc(mysql_query('SELECT `movies` FROM `id` WHERE `name` '));
    $textl = 'Фильм: '. $res2 .'';
Всего: 25