|
|
|
| Суть проблемы по адресу
http://cup.academy-ap.com/novosty
Необходимо сделать чтобы центр колонка расширялась при условии что левый столбик отсутствует
Этого варианта не хватает для нормального отображения макета, тк при наличие левого столбика центр колонка заполняет все пространство справа..
Не хватает php знаний чтобы разрбраться в прстом коде шаблона, (сайт на joomla).
привожу код части шаблона
// check modules
$showRightColumn = ($this->countModules('position-3') or $this->countModules('position-6') or $this->countModules('position-8'));
$showbottom = ($this->countModules('position-9') or $this->countModules('position-10') or $this->countModules('position-11'));
$showleft = ($this->countModules('position-4') or $this->countModules('position-7') or $this->countModules('position-5'));
if ($showRightColumn==0 and $showleft==0) {
$showno = 0;
}
|
..............................
и видимо вывод колонок
<div id="<?php echo $showRightColumn ? 'contentarea2' : 'contentarea' ; ?>">
.........................
<?php if ($navposition=='left' and $showleft) : ?>
<div class="left1 <?php if ($showRightColumn==NULL){ echo 'leftbigger';} ?>" id="nav">
...................
<div id="<?php echo $showRightColumn ? 'wrapper' : 'wrapper2'; ?>" <?php if (isset($showno)){echo 'class="shownocolumns"';}?>>
.........
|
вот понимаю что нужно сделать вывод третьего контейнера, например wrapper3 и вытянуть его на необходимую ширину с помощью css но при добавлении к 'wrapper' : 'wrapper2'; третьего контейнера получаю ошибку..
Как правилдьно поставить третий контейнер?! | |
|
|
|
|
|
|
|
для: RobotWerder
(26.05.2012 в 14:31)
| | Это что такое:
<?php if ($navposition=='left' and $showleft) : ?>
? | |
|
|
|
|
|
|
|
для: confirm
(26.05.2012 в 14:37)
| |
// get params
$color = $this->params->get('templatecolor');
$logo = $this->params->get('logo');
$navposition = $this->params->get('navposition');
|
и еще вот
<?php if ($navposition=='center' and $showleft) : ?>
<div class="left <?php if ($showRightColumn==NULL){ echo 'leftbigger';} ?>" id="nav" >
<jdoc:include type="modules" name="position-7" style="beezDivision" headerLevel="3" />
<jdoc:include type="modules" name="position-4" style="beezHide" headerLevel="3" />
<jdoc:include type="modules" name="position-5" style="beezTabs1" headerLevel="2" id="3" />
|
| |
|
|
|
|
|
|
|
для: RobotWerder
(26.05.2012 в 17:12)
| | И что? Вы хотите чтобы я вам теперь в каждом участке вашего кода указывал на одну и ту же ошибку? | |
|
|
|
|
|
|
|
для: confirm
(26.05.2012 в 17:24)
| | Что ж..прошу прощения.., вы не писали что это ошибка, а я не очень в php// так что если не сложно попрошу объяснить неучу :)
пасиб что проявляете внимание | |
|
|
|
|
|
|
|
для: RobotWerder
(26.05.2012 в 17:57)
| | В РНР есть альтернативный синтаксис управления для if, while, for, foreach и switch, когда открывающая фигурная скобка заменяется на двоеточие (:), а закрывающая - на endif;, endwhile;, endfor;, endforeach; или endswitch;, соответственно.
В приведенном вами этого не видно, это не значит что ошибка, конец структуры возможно где-то далее. Но по этим кускам можно сказать только, если использовать так как есть, то парсер будет указывать на ошибку после каждой из строки альтернативного синтаксиса. Другими словами нарушена структура вами, надо полагать.
Если вы не понимаете в РНР, то навряд ли вы поняли то, что я тут написал. Как и мне, что-то понимающего в нем, трудно сказать в чем именно причина ошибки по таким кускам.
Отдайте свой код тому, кто понимает, оплатите работу, иначе ваши кусочки тут править никто не будет.
PS. Кстати, хорошо бы говорить конкретно об ошибке, а не просто упоминать. | |
|
|
|
|
12.6 Кб |
|
|
для: confirm
(26.05.2012 в 18:15)
| | В том и дело, что я не понимаю знаки вопроса и двоеточие в этом синтаксисе и внедрение доп Id приводит естессно к ошибке, прикладываю index.php целиком ..
Будьте добры взгляните, меня скорее всего интересуют дополнительный div id = wrapper иkb доп contentarea при наличие правой колонки | |
|
|
|
|
|
|
|
для: robotwerder
(28.05.2012 в 09:19)
| | Что посмотреть? Я не знаю джумлу и знать не хочу. Что касается данной страницы, то могу сказать, что именно в этом исходном коде нет ошибок синтаксиса php. А что за ошибки вы получаете - ругается php, или таковой вы называете не тот результат, которого ожидали, вы не сообщаете. | |
|
|
|
|
|
|
|
для: confirm
(28.05.2012 в 09:59)
| | Мне необходимо внедрить доп условие, чтобы пр наличие правой колонки центральный див wrapper расширялся на оставшуюся ширину страницы..
полагаю вот сюда <div id="<?php echo $showRightColumn ? 'wrapper' : 'wrapper2'; ?>" <?php if (isset($showno)){echo 'class="shownocolumns"';}?>>
Думаю сделать Какой нить wrapper3, но как его в эту строку вмазать не пойму((, ведь если следовать вашему совету двоеточие здесь между 'wrapper' : 'wrapper2'; означает начало фигурных скобок в которых содержится условие и если я делаю wrapper' : 'wrapper2 : wrapper3
то естественно получаю ошибку
Parse error: syntax error, unexpected ':', expecting ',' or ';' in /home/u20284/cup.academy-ap.com/www/templates/beez_20/index.php on line 171
Это я делаю методом научного тыка) | |
|
|
|
|
|
|
|
для: RobotWerder
(28.05.2012 в 10:50)
| | wrapper' : 'wrapper2 : wrapper3 - так нельзя делать.
<?
//это альтернативная структура управления
$a = true;
if($a) :
echo 1;
endif;
//что идентично такой структуре
if($a) {
echo 1;
}
//а это тернарная (или условная запись)
echo $a ? 1 : 0;
//которая выведет на экран 1, так как $a истинно
|
Если выражаться словами, то условная запись гласит - если выполняется условие, то выполнить то, что следует за знаком вопроса, иначе то, что за двоеточием. Эту запись то же самое, что и это:
<?
if($a) {
echo 1;
} else {
echo 0;
}
|
Вы же наколбасили то, что конечно является ошибкой. А чтобы написать правильно, вы должны сначала определиться на каких условиях у вас должен появится wrapper3. Если их нет, то просто добавляйте html код вашего div. | |
|
|
|
|
|
|
|
для: confirm
(28.05.2012 в 12:48)
| | то есть в моем случае это тренарная запись выражения..
Значит так:
wrapper3 появится при условии что присутствует правая колонка и левая отсутствует,
то есть применительно к моему index.php примерно так будет?!
if ($showleft==0)
{
echo $wrapper3;
}
если да то проблема в том, чтобы оставить работоспособным старый код и каким образом добавить туда этот ?!?
не оч понятно где там одно условие начинается а где кончается :( | |
|
|
|
|
|
|
|
для: RobotWerder
(30.05.2012 в 10:20)
| | Я знаю, что у меня левая рука левая, а правая, правая. Но если я повернусь спиной к северу, может быть и запутаюсь. ) Но что у меня две руки я знаю точно.
А вот с вашими колонками, это вопрос, где там левые и какие правые... У меня нет Джумлы, я не могу запустить реально ваш код, и проверить свои суждения, а устанавливать ее ради этого конечно же не буду. Поэтому буду говорить исходя из имеющегося.
Вы показывали ранее кусочки, где в структурах прописано условие:
if ($navposition=='left' and $showleft) :
то есть определяющее, что $showleft истинно (не равно 0 - указывать $showleft==0 нет необходимости, и пишут так в этом случае !$showleft), и насколько я понимаю, в эту структуру вы и пытались добавить свое.
Сейчас вы пишите что добавление должно быть при противном, а значит ищите в своем коде то место, где есть условие:
if (!$showleft && $showRightColumn) :
(если конечно $showRightColumn и определяет правую колонку) и добавляйте то, что вам нужно в этой структуре. А конкретно в каком месте этой структуры, я вам сказать не могу.
Но в том коде, что вы показывали, насколько я помню, условие когда $showleft ложно отсутствует. Значит вам надо самому добавлять структуру в код, которая бы описывала это условие:
if (!$showleft && $showRightColumn) :
//тут то, что должно быть выведено, включая ваше добавление
endif;
|
А существующие структуры так пусть и остаются. | |
|
|
|
|
|
|
|
для: confirm
(30.05.2012 в 11:42)
| | После долгих вариаций у меня получилось..
выражаю вам признательность, жаль плюсануть нельзя))
Сделал вот так
<div id="<?php echo $showRightColumn && $showleft ? 'wrapper' : (!$showleft && $showRightColumn ? 'wrapper3' : 'wrapper2'); ?>"
|
| |
|
|
|
|
|
|
|
для: RobotWerder
(31.05.2012 в 11:19)
| | Спасибо вам за предоставленное решение проблемы. Я столкнулся точно с такой же ситуацией. Это явная недоработка (а если точнее "косяк") стандартного шаблона Joomla. У них есть команда по "ловле блох", думаю им давно пора бы устранить недостаток. Хотя, возможно, у них и заложена такая логика работы шаблона. | |
|
|
|