|
ADS Manager 2.xОбсуждение темы ADS Manager 2.x в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Сижу сейчас ломаю голову над этим компонентом для джумлы и вдруг столкнулся с проблемкой ) В Самом php я не оч шарю, могу ... |
|
Опции темы |
13.07.2011, 15:11 | #1 |
|
Сижу сейчас ломаю голову над этим компонентом для джумлы и вдруг столкнулся с проблемкой )
В Самом php я не оч шарю, могу только поменять местами или вставить в блок уже написаный код в определённом файлике ) а от себя врядли чо осилю ) Вообщем кто работал поймут: Там есть блок, где отображается меню " Вход в систему / Добавить объявление и т.п. " Я этот блок убрал, поскольку нужно сделать так, что бы добавлять объявления мог только администратор сайта, можно конечно заставить заходить через админку и там добавлять, но хочется сделать иначе.. Поставил CB, сделал форму авторизации, а вот сделать так что бы войдя под своим логином на сайт, админ видел ссылку " Добавить объявление " Посоветуйте что нибудь, потому что боюсь ночью не усну если не найду ответ )))) Зарание примного благодарен |
|
13.07.2011, 15:26 | #2 |
|
Я думаю выдирать куски кода из движка, тем более такого сложного как джумла - ни к чему хорошему не приведет. Ищите решение штатными средствами движка.
|
|
13.07.2011, 15:38 | #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 на пункт авторизации, но вот тут то и столкнулся с проблемой, убрав эту кнопочку " Добавить новость " от всех глаз, я убрал её и от глаз авторизированого пользователя, а как вернуть, точней сделать так что б она отображалась только авторизированому пока не придумал, поэтому и вопрос задал ) Ну короче по сути ,я глобальных изменений не делал, поэтому врядли разрушу структуру ) |
|
|
13.07.2011, 16:11 | #4 |
|
так выложите этот код, только еще с присутствующей кнопочкой я затрудняюсь угадать где она находилась
|
|
13.07.2011, 16:34 | #5 | |
|
Цитата:
Впрочем это код не правленый ещё даже ) это оригинальный код самого ads_manager Кнопочка о которой я говорю находится совершенно в другом коде, если быть точней она к этому коду не относится никак. Блин, нужно наверное подробней обьяснить проблему Щас наделаю скрины что б показать то, что мне нужно ) |
|
|
13.07.2011, 16:40 | #6 |
|
я на часа 4 отлучаюсь. делайте скрины, хотя конечно сам скрипт бы, где эта кнопочка линкуется. ну да ладно, глянем что будет.
|
|
13.07.2011, 16:55 | #7 |
|
Сама кнопка к этому не относится, кнопка открывает окошко в котором форма авторизации пользевателя на сайте. Регистрацию убрал что б посторонние не регестрировались, сама беда в другом )
Вот меню которое отображается по умолчанию. код этого меню вот: Код:
<?php $this->general->showGeneralLink() ?> В самом меню есть кнопочка " Добавить новость ", вот мне нужно что бы эта кнопочка отображалась только авторизированому пользователю на сайте. Ну то есть админу. Лазил в настройках самого компонента, можно сделать так, что бы добавлять новости могли только зарегестрированные пользователи, но в этом случае для публики будет лишнее меню, а оно ну совсем мне не к чему. Вот простой пример: На форуме IPB после того как админ авторизуется, появляется кнопочка " Админка ", а нам, простым смертным этоа кнопочка не высвечивается Вот. как то так ) |
|
13.07.2011, 23:36 | #8 |
|
по сути надо найти массив, в котором хранится инфа о пользователе во время сессии, понять в какой ячейке хранится группа пользователя, понять какой номер группы зарезервирован за "гостями", т.е. не прошедшими авторизацию, а дальше простое условие на любом куске генерируемого контента if (<ячейка группы>!=<номеру гостей>) <контент генерим> else <не генерим>. Не видя хотябы кусков кода, где происходит линковка этой кнопки - ниче сказать точно нельзя. Тот пример кусочка кода который вы привели - слишком общий. Надо как минимум видеть эту самую функцию showGeneralLink() и в идеале все файлы, которые она прилинковывает еще. Жумлу как-то стороной обходил, поэтому живого примера движка у меня нет. Если уж приперло так - выкладывайте сборку вашу где-нибудь - гляну.
Добавлено через 13 секунд и базу тоже Последний раз редактировалось redreem; 13.07.2011 в 23:36.. Причина: Добавлено сообщение |
|
14.07.2011, 00:56 | #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 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|