|
|||||||
ADS Manager 2.xОбсуждение темы ADS Manager 2.x в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Сижу сейчас ломаю голову над этим компонентом для джумлы и вдруг столкнулся с проблемкой ) В Самом php я не оч шарю, могу ... |
![]() |
|
|
Опции темы |
|
|
#1 |
|
|
Сижу сейчас ломаю голову над этим компонентом для джумлы и вдруг столкнулся с проблемкой )
В Самом php я не оч шарю, могу только поменять местами или вставить в блок уже написаный код в определённом файлике ) а от себя врядли чо осилю ) Вообщем кто работал поймут: Там есть блок, где отображается меню " Вход в систему / Добавить объявление и т.п. " Я этот блок убрал, поскольку нужно сделать так, что бы добавлять объявления мог только администратор сайта, можно конечно заставить заходить через админку и там добавлять, но хочется сделать иначе.. Поставил CB, сделал форму авторизации, а вот сделать так что бы войдя под своим логином на сайт, админ видел ссылку " Добавить объявление " Посоветуйте что нибудь, потому что боюсь ночью не усну если не найду ответ )))) Зарание примного благодарен |
|
|
|
|
#2 |
|
|
Я думаю выдирать куски кода из движка, тем более такого сложного как джумла - ни к чему хорошему не приведет. Ищите решение штатными средствами движка.
|
|
|
|
|
#3 | |
|
|
Цитата:
Но если не править этот код самому, то не получится ничего дельного) Ну вот к примеру: написан код страници: Код:
<table class="adsmanager_table">
<tr>
<th><?php echo JText::_('ADSMANAGER_CONTENT'); ?></th>
<?php
foreach($this->columns as $col)
{
echo "<th>".JText::_($col->name)."</th>";
}
?>
<th><?php echo JText::_('ADSMANAGER_DATE'); ?></th>
</tr>
<?php
foreach($this->contents as $content)
{
$linkTarget = JRoute::_( "index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid."&Itemid=".$this->Itemid);
if (function_exists('getContentClass'))
$classcontent = getContentClass($content);
else
$classcontent = "adsmanager_table_description";
?>
<tr class="<?php echo $classcontent;?>">
<td>
<?php
$ok = 0;$i=1;
$nbimages = $conf->nb_images;
if (function_exists("getMaxPaidSystemImages"))
{
$nbimages += getMaxPaidSystemImages();
}
while(!$ok)
{
if ($i < $nbimages + 1)
{
$ext_name = chr(ord('a')+$i-1);
$pic = JPATH_BASE."/images/com_adsmanager/ads/".$content->id.$ext_name."_t.jpg";
if (file_exists( $pic))
{
echo "<a href='".$linkTarget."'><img class='adimage' name='adimage".$content->id."' src='".$this->baseurl."/images/com_adsmanager/ads/".$content->id.$ext_name."_t.jpg' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
$ok = 1;
}
}
else if ($nbimages != 0)
{
if ((JText::_('ADSMANAGER_NOPIC') != "")&&(file_exists(JPATH_BASE."/components/com_adsmanager/images/".JText::_('ADSMANAGER_NOPIC'))))
echo "<a href='".$linkTarget."'><img class='adimage' src='".$this->baseurl."/components/com_adsmanager/images/".JText::_('ADSMANAGER_NOPIC')."' alt='nopic' /></a>";
else
echo "<a href='".$linkTarget."'><img class='adimage' src='".$this->baseurl."/components/com_adsmanager/images/nopic.gif' alt='nopic' /></a>";
$ok = 1;
}
else
{
$ok = 1;
}
$i++;
}
?>
<div>
<h2>
<?php echo '<a href="'.$linkTarget.'">'.$content->ad_headline.'</a>'; ?>
<span class="adsmanager_cat"><?php echo "(".$content->parent." / ".$content->cat.")"; ?></span>
</h2>
<?php
$content->ad_text = str_replace ('<br />'," ",$content->ad_text);
$af_text = JString::substr($content->ad_text, 0, 100)."...";
echo $af_text;
?>
</div>
<?php
if (($this->userid == $content->userid)&&($content->userid != 0)) {
?>
<div>
<?php
$target = JRoute::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
echo " ";
$target = JRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
?>
</div>
<?php
}
?>
</td>
<?php
foreach($this->columns as $col) {
echo '<td class="center">';
if (isset($this->fColumns[$col->id]))
foreach($this->fColumns[$col->id] as $field)
{
echo $this->field->showFieldValue($content,$field);
}
echo "</td>";
}
?>
<td class="center">
<?php
$iconflag = false;
if (($conf->show_new == true)&&($this->isNewcontent($content->date_created,$conf->nbdays_new))) {
echo "<div class='center'><img align='center' src='".$this->baseurl."/components/com_adsmanager/images/new.gif' /> ";
$iconflag = true;
}
if (($conf->show_hot == true)&&($content->views >= $conf->nbhits)) {
if ($iconflag == false)
echo "<div class='center'>";
echo "<img align='center' src='".$this->baseurl."/components/com_adsmanager/images/hot.gif' />";
$iconflag = true;
}
if ($iconflag == true)
echo "</div>";
echo $this->reorderDate($content->date_created);
?>
<br />
<?php
if ($content->userid != 0)
{
echo JText::_('ADSMANAGER_FROM')." ";
if ($conf->comprofiler == 2)
{
$target = JRoute::_("index.php?option=com_comprofiler&task=userProfile&tab=adsmanagerTab&user=".$content->userid."&Itemid=".$this->Itemid);
}
else
{
$target = JRoute::_("index.php?option=com_adsmanager&view=list&user=".$content->userid."&Itemid=".$this->Itemid);
}
echo "<a href='".$target."'>".$content->user."</a><br/>";
}
?>
<?php echo sprintf(JText::_('ADSMANAGER_VIEWS'),$content->views); ?>
</td>
</tr>
<?php
}
?>
</table>
Так же меняю таблицу эту, что бы отображало по другому ну вообщем меняю внешний вид. Единственное что я внёс своего в целом - это java на пункт авторизации, но вот тут то и столкнулся с проблемой, убрав эту кнопочку " Добавить новость " от всех глаз, я убрал её и от глаз авторизированого пользователя, а как вернуть, точней сделать так что б она отображалась только авторизированому пока не придумал, поэтому и вопрос задал ) Ну короче по сути ,я глобальных изменений не делал, поэтому врядли разрушу структуру ) |
|
|
|
|
|
#4 |
|
|
так выложите этот код, только еще с присутствующей кнопочкой
я затрудняюсь угадать где она находилась ![]() |
|
|
|
|
#5 | |
|
|
Цитата:
Впрочем это код не правленый ещё даже ) это оригинальный код самого ads_manager Кнопочка о которой я говорю находится совершенно в другом коде, если быть точней она к этому коду не относится никак. Блин, нужно наверное подробней обьяснить проблему ![]() Щас наделаю скрины что б показать то, что мне нужно ) |
|
|
|
|
|
#6 |
|
|
я на часа 4 отлучаюсь. делайте скрины, хотя конечно сам скрипт бы, где эта кнопочка линкуется. ну да ладно, глянем что будет.
|
|
|
|
|
#7 |
|
|
Сама кнопка к этому не относится, кнопка открывает окошко в котором форма авторизации пользевателя на сайте. Регистрацию убрал что б посторонние не регестрировались, сама беда в другом )
Вот меню которое отображается по умолчанию. код этого меню вот: Код:
<?php $this->general->showGeneralLink() ?> В самом меню есть кнопочка " Добавить новость ", вот мне нужно что бы эта кнопочка отображалась только авторизированому пользователю на сайте. Ну то есть админу. Лазил в настройках самого компонента, можно сделать так, что бы добавлять новости могли только зарегестрированные пользователи, но в этом случае для публики будет лишнее меню, а оно ну совсем мне не к чему. Вот простой пример: На форуме IPB после того как админ авторизуется, появляется кнопочка " Админка ", а нам, простым смертным этоа кнопочка не высвечивается ![]() Вот. как то так ) |
|
|
|
|
#8 |
|
|
по сути надо найти массив, в котором хранится инфа о пользователе во время сессии, понять в какой ячейке хранится группа пользователя, понять какой номер группы зарезервирован за "гостями", т.е. не прошедшими авторизацию, а дальше простое условие на любом куске генерируемого контента if (<ячейка группы>!=<номеру гостей>) <контент генерим> else <не генерим>. Не видя хотябы кусков кода, где происходит линковка этой кнопки - ниче сказать точно нельзя. Тот пример кусочка кода который вы привели - слишком общий. Надо как минимум видеть эту самую функцию showGeneralLink() и в идеале все файлы, которые она прилинковывает еще. Жумлу как-то стороной обходил, поэтому живого примера движка у меня нет. Если уж приперло так - выкладывайте сборку вашу где-нибудь - гляну.
Добавлено через 13 секунд и базу тоже Последний раз редактировалось redreem; 13.07.2011 в 23:36.. Причина: Добавлено сообщение |
|
|
|
|
#9 | |
|
|
Цитата:
По сути сама функция showGeneralLink отображает то самое меню, тоесть по умолчанию там нет ничего приблежённого к тому, что мне нужно. Регистрации на сайте нет поэтому вычеслить "if "admin" будет думаю не проблема) Ну вообщем по сути мне нужно что б это меню не отображалось до тех пор, пока я на сайте не введу свой логин и пароль (не залогинюсь короче) Поскольку реги не будет, войти сможет естественно только админ. Если бы я в програмировании что то шарил мб объяснил бы лучше )) но увы обьяснить лучше чем обьяснил выше, про отображение кнопки " админка " на форуме врядли смогу))) |
|
|
|
![]() |
|
|
| Похожие темы | ||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Помогите с Secure CRT и EMS MySQL Manager Pro 3.1 | Edantses | HTML, CSS, JavaScript | 0 | 29.03.2005 19:41 |
| Article Manager, образцовый пример системы публикации статей | drakonchik | Кальянная | 2 | 27.02.2004 11:59 |
| Download Manager | Dio's de Lammos | Кальянная | 5 | 21.11.2003 12:02 |
|
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|