Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с сылкой, Не правильно работа страницы 
V
    Опции темы
Маркиза
Дата 6.2.2009, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Код

<?php

function getNameSort($a, $b) {
        if ($a->getName() == $b->getName()) {
                return 0;
        }

        return ($a->getName() < $b->getName()) ? -1 : 1;
}

require_once(dirname(__FILE__) . '/base/Constants.php');
require_once(dirname(__FILE__) . '/base/TemplateCache.php');

$groupId    = intval($_GET['group']);
$workId    = intval($_GET['work']);
$pictureId = intval($_GET['pic']);

// главный раздел - показываем группы и вложенные работы вложенным списком
if ($workId == 0
        && $pictureId == 0) {

        require_once(dirname(__FILE__) . '/base/Template.php');
        $globalTemplate = new Template('index');
        $output = '';

        require_once(dirname(__FILE__) . '/objects/Group.php');
        require_once(dirname(__FILE__) . '/base/DBCollection.php');
        $groups = new DBCollection(Group::create(), 'WHERE id = ' . $groupId);

        $groupsOut = '';

        require_once(dirname(__FILE__) . '/objects/Work.php');

        foreach($groups->getList() as $group) {
                // пробегаемся РїРѕ группам

                $works = new DBCollection(Work::create(), 'WHERE group_id = ' . $groupId);

                if ($works &&
                        $works->getCount() > 0
                ) {
                        $groupsOut .= $globalTemplate->getContent()->group($group);

                        $worksOut = '';

                        $wlist = $works->getList();

                        // потому что order СЃ utf-8 РЅРµ работает нихрена
                        usort($wlist, "getNameSort");

                        foreach($wlist as $work) {
                                $worksOut .= $globalTemplate->getContent()->work($work);
                        }

                        $groupsOut .= $globalTemplate->getContent()->works($worksOut);
                }
        }

        if ($groupsOut != '') {
                $output .= $globalTemplate->getContent()->groups($groupsOut);
        }

        $output = $globalTemplate->getContent()->getWrapper($output);

        TemplateCache::set(Constants::CACHE_INDEX, $output);

        print $output;
}

// показываем работу
if ($workId > 0) {
        $workCache = TemplateCache::get(Constants::CACHE_WORK . $workId);

        if ($workCache) {
                print $workCache;
                die();
        }

        require_once(dirname(__FILE__) . '/base/Template.php');
        $globalTemplate = new Template('index');
        $output = '';

        $workTemplate = new Template('work');

        require_once(dirname(__FILE__) . '/objects/Work.php');

        $work = Work::getById($workId);

        if (!$work) {
                die();
        }

        require_once(dirname(__FILE__) . '/objects/Picture.php');
        require_once(dirname(__FILE__) . '/base/DBCollection.php');

        $pics = new DBCollection(Picture::create(), 'WHERE work_id = ' . $work->getId());

        $picsOut = '';

        foreach($pics->getList() as $pic) {
                $picsOut .= $workTemplate->getContent()->picture($pic);
        }

        $output .= $workTemplate->getContent()->pictures($picsOut);

        require_once(dirname(__FILE__) . '/objects/Group.php');

        $group = Group::getById($work->getGroup());

        $output = $workTemplate->getContent()->work($work, $group, $output);

        $output = $globalTemplate->getContent()->getWrapper($output);

        TemplateCache::set(Constants::CACHE_WORK . $workId, $output);

        print $output;
}

if ($pictureId > 0) {
        $picCache = TemplateCache::get(Constants::CACHE_PICTURE . $pictureId);

        if ($picCache) {
                print $picCache;
                die();
        }

        require_once(dirname(__FILE__) . '/base/Template.php');
        $globalTemplate = new Template('index');
        $output = '';

        $picTemplate = new Template('picture');

        require_once(dirname(__FILE__) . '/objects/Picture.php');

        $pic = Picture::getById($pictureId);

        if (!$pic) {
                die();
        }

        require_once(dirname(__FILE__) . '/objects/Group.php');
        require_once(dirname(__FILE__) . '/objects/Work.php');

        $work = Work::getById($pic->getWork());
        $group = Group::getById($work->getGroup());

        $output = $picTemplate->getContent()->picture($pic, $group, $work);

        $output = $globalTemplate->getContent()->getWrapper($output);

        TemplateCache::set(Constants::CACHE_PICTURE . $pictureId, $output);

        print $output;
}

http://shop-pajero4x4.ru/service/works.php
Вот страничка, нажимая на ней для примера Паджеро 2, мы попадаем http://shop-pajero4x4.ru/works/works.php?group=14, далее проходим по любой ссылке http://shop-pajero4x4.ru/works/works.php?work=45 и вот как раз тут не рабочая ссылка за место того, чтобы вернуться к списку, она выкидывает на главную страницу.
PM MAIL   Вверх
godvinn
Дата 6.2.2009, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: 1
Всего: 1



ну и что за вопрос ?


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
Маркиза
Дата 6.2.2009, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Как сделать так, чтоб при нажатии вернуться к списку, возращаться к списку текущей группы, а не на главную страницу?
PM MAIL   Вверх
Canarat
Дата 7.2.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Ну во-первых код отвратительный и хренасдва поймешь для чего нужны все эти выверты..
Для возврата к списку, нужно воспользоваться методом $work->getGroup_id() - он вернет номер группы, его и использовать в ссылке. Это опять таки предположение, на основании внешнего вида этого "ORM"..
PM MAIL   Вверх
godvinn
Дата 7.2.2009, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: 1
Всего: 1



Цитата

Ну во-первых код отвратительный и хренасдва поймешь


поддерживаю, и кому вообще захочется в нем разбираться. 


заранее прошу извинение в модераторов.  smile  

Маркиза
на форуме нужно спрашивать возможное решение а не выкладывать огромный кусок кода и говорить а что мне сдесь сделать чтобы оно работало, никто же не знает как он разрабатывался какие еще классы есть и т.д.. Правильно сформируйте вопрос и задавайте а потом смотри предложенные варианты и пробуй реализовывать свою задачу.


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
WTF4XZ
  Дата 7.2.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 16.4.2007
Где: 63 Самара

Репутация: нет
Всего: 5



Касательно кода, это не её. А на неё повесили, человека так вот подставили. Код согласен жуткий, и разобраться очень сложно, собственно по этому и попросила помощь.

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

За ранее благодарен


П.С. godvinn, на мой взгляд вопрос довольно хорошо сформулирован, и звучит он "ссылка не работает, что не так?!". Так же вопрос имеет линки на источник где можно посмотреть и полный исходник страницы. Человек попытался максимально подробно всё изложить и не следует его за это винить.
--------------------
Я создание эмоций, создание способные чувствовать не только эмоции людей но и машин.Я EMO_CODER != FALSE;Никто не знает о нас, но мы есть, мы живём, мы кодим и мы... чувствуем, ипспытываем такие эмоции.. сильнее любого бинарника, мощнее любого ассемблера.
PM MAIL ICQ GTalk Jabber   Вверх
godvinn
Дата 7.2.2009, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: 1
Всего: 1



Цитата

Касательно кода, это не её.



WTF4XZ,  а откуда знаешь? помог бы сам?


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
Маркиза
Дата 7.2.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Да дело в том что мне это передали, предыдущий администратор все сделал коряво я понимаю что там навороты...но вариантов 2..написать заново или исправить в существующем, вот решила попробовать 2 вариант, но не могу понять откуда и что он взял и где что лежит, так как группы все в кэше, Footer и тот чисто с банерами, и так как не могу разобраться решила обратиться к вам, сорри PHP 2-3 года не юзала... smile

Добавлено через 5 минут и 5 секунд
Цитата(godvinn @ 7.2.2009,  15:30)
WTF4XZ,  а откуда знаешь? помог бы сам?

Я его просила тоже мне помочь...

Это сообщение отредактировал(а) Маркиза - 7.2.2009, 15:56
PM MAIL   Вверх
ekodrive
Дата 7.2.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 4.1.2006

Репутация: 0
Всего: 0




Содержимое этой таблицы поместите между <HEAD> и </HEAD>

Код

<script Language="JavaScript">
<!-- hide from old browsers
function setStatus(msg){
status = msg
return true
}
//-->
</SCRIPT>



Содержимое этой таблицы поместите между <BODY> и </BODY>
Код

<A HREF="JavaScript:history.back()" 
onMouseOver="return setStatus('Back')"
onMouseOut="return setStatus('')">Назад на предыдущую
страницу</A> 


я правильно понял вас?
--------------------
Смерть-Это только начало!!!
PM MAIL WWW ICQ   Вверх
Canarat
Дата 7.2.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Маркиза, я вам ответил выше. Для полной уверенности хорошо бы исходники классов Work и DBCollection.

ekodrive, мимо, неправильно.
PM MAIL   Вверх
Маркиза
Дата 7.2.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Код

<?php

require_once(dirname(__FILE__) . '/DBObject.php');

class DBCollection {
    
    private $collection = array();
    
    public function __construct($object, $bottomQuery = '')
    {
        if (!($object instanceof DBObject)) {
            return false;
        }
        
        $query = 'SELECT * FROM ' . $object->table;
        
        if ($bottomQuery != '') {
            $query .= ' ' . $bottomQuery;
        }
        
        $result = DB::selectQuery($query);
        
        if ($result->count == 0)
            return false;
            
        while ($row = $result->fetchRow()) {
            $new = clone $object;
            $new->makeObject($row);
            
            $this->collection[] = $new;
        }
        
        return $this;
    }
    
    public function getList()
    {
        return $this->collection;
    }
    
    public function shift()
    {
        return array_shift($this->collection);
    }
    
    public function getCount()
    {
        return count($this->collection);
    }
    
}


Это DBCollection

Добавлено через 1 минуту и 41 секунду
Код

<!doctype php public "-//W3C//DTD php 4.01 Transitional//EN"> 
<html> 
<head> 

<meta http-equiv="Content-Type" content="text/php; charset=windows-1251"> 
<title>Установка внедорожного оборудования - Pajero shop service</title> 
<meta name="Description" Content="Установка off-road оборудования"> 
<meta name="Keywords" CONTENT="Сервис Pajero"> 
<link rel="stylesheet" type="text/css" href="style.css"> 

</head> 

<body> 
<div class="topbg"></div> 
<div class="header"> 
<div class="logo"><a href="index.php"><img src="img/pajero-service-logo.gif" width="308" height="92" alt="Установка off-road оборудования Pajero Shop Service" title="На главную" /></a><br /><span class="phone">тел.: (495) 506 36 47</span><br /><span class="email">e-mail: <a href="mailto:[email protected]">[email protected]</a></span></div> 
<div class="about"><div class="menu"><a href="index.php">О сервисе</a>&nbsp;</div></div> 
<div class="works"><div class="menu-pressed">Наши работы&nbsp;</div></div> 
<div class="contacts"><div class="menu"><a href="contacts.php">Контакты</a>&nbsp;</div></div> 
</div> 
<div class="content"> 
<!--- Контент старт ---> 

<h1>Наши работы</h1> 

<table cellspacing="10" cellpadding="10" border="0"> 
<tr> 
    <td align="center" valign="top"><div class="models"><a href="/works/works.php?group=15"><img src="img/pajero-sport.jpg" alt="Подготовка Pajero Sport" name="Подготовка Pajero Sport" id="Подготовка Pajero Sport" width="200" height="150" border="0"></a></div>Подготовка<br><strong>Mitsubishi Pajero Sport</strong><br> <a href="/works/works.php?group=15">Посмотреть работы</a></td> 
    <td align="center" valign="top"><div class="models"><a href="/works/works.php?group=14"><img src="img/pajero2.jpg" alt="Подготовка Pajero II" name="Подготовка Pajero II" id="Подготовка Pajero II" width="200" height="150" border="0"></a></div></div>Подготовка<br><strong>Mitsubishi Pajero II</strong><br> <a href="/works/works.php?group=14">Посмотреть работы</a></td> 
    <td align="center" valign="top"><div class="models"><a href="/works/works.php?group=11"><img src="img/l200.jpg" alt="Подготовка L-200" name="Подготовка L-200" id="Подготовка L-200" width="200" height="150" border="0"></a></div></div>Подготовка<br><strong>Mitsubishi L-200</strong><br> <a href="/works/works.php?group=11">Посмотреть работы</a></td> 
</tr> 
<tr> 
    <td align="center" valign="top"><div class="models"><a href="/works/works.php?group=16"><img src="img/l200-new.jpg" alt="Подготовка L-200 new" name="Подготовка L-200 new" id="Подготовка L-200 new" width="200" height="150" border="0"></a></div></div>Подготовка<br><strong>Mitsubishi L-200 NEW</strong><br> <a href="/works/works.php?group=16">Посмотреть работы</a></td> 
    <td align="center" valign="top"><div class="models"><a href="/works/works.php?group=13"><img src="img/delica.jpg" alt="Подготовка Delica" name="Подготовка Delica" id="Подготовка Delica" width="200" height="150" border="0"></a></div></div>Подготовка<br><strong>Mitsubishi Delica</strong><br> <a href="/works/works.php?group=13">Посмотреть работы</a></td> 
    <td align="center" valign="top"></td> 
</tr> 
</table> 

<br /> 
<!--- Контент енд ---> 
</div> 
<?php 
include "footer.php"; 
?> 

</body> 
</html> 


works 1

Добавлено через 2 минуты и 35 секунд
Код

<?php 

function getNameSort($a, $b) { 
    if ($a->getName() == $b->getName()) { 
        return 0; 
    } 
     
    return ($a->getName() < $b->getName()) ? -1 : 1; 


require_once(dirname(__FILE__) . '/base/Constants.php'); 
require_once(dirname(__FILE__) . '/base/TemplateCache.php'); 

$groupId    = intval($_GET['group']); 
$workId    = intval($_GET['work']); 
$pictureId = intval($_GET['pic']); 

// главный раздел - показываем РіСЂСѓРїРїС‹ Рё вложенные работы вложенным СЃРїРёСЃРєРѕРј 
if ($workId == 0 
    && $pictureId == 0) {     
         
    require_once(dirname(__FILE__) . '/base/Template.php'); 
    $globalTemplate = new Template('index'); 
    $output = ''; 
     
    require_once(dirname(__FILE__) . '/objects/Group.php'); 
    require_once(dirname(__FILE__) . '/base/DBCollection.php'); 
    $groups = new DBCollection(Group::create(), 'WHERE id = ' . $groupId); 
     
    $groupsOut = ''; 
     
    require_once(dirname(__FILE__) . '/objects/Work.php'); 
     
    foreach($groups->getList() as $group) { 
        // пробегаемся РїРѕ группам 
         
        $works = new DBCollection(Work::create(), 'WHERE group_id = ' . $groupId); 
         
        if ($works && 
            $works->getCount() > 0 
        ) { 
            $groupsOut .= $globalTemplate->getContent()->group($group); 
         
            $worksOut = ''; 
                      
            $wlist = $works->getList(); 

            // потому что order СЃ utf-8 РЅРµ работает нихрена 
            usort($wlist, "getNameSort"); 

            foreach($wlist as $work) { 
                $worksOut .= $globalTemplate->getContent()->work($work); 
            } 
         
            $groupsOut .= $globalTemplate->getContent()->works($worksOut); 
        } 
    } 
     
    if ($groupsOut != '') { 
        $output .= $globalTemplate->getContent()->groups($groupsOut); 
    } 
     
    $output = $globalTemplate->getContent()->getWrapper($output); 
     
    TemplateCache::set(Constants::CACHE_INDEX, $output); 

    print $output; 


// показываем работу 
if ($workId > 0) { 
    $workCache = TemplateCache::get(Constants::CACHE_WORK . $workId); 

    if ($workCache) { 
        print $workCache; 
        die(); 
    } 

    require_once(dirname(__FILE__) . '/base/Template.php'); 
    $globalTemplate = new Template('index'); 
    $output = ''; 
     
    $workTemplate = new Template('work'); 
     
    require_once(dirname(__FILE__) . '/objects/Work.php'); 
     
    $work = Work::getById($workId); 
     
    if (!$work) { 
        die(); 
    } 
     
    require_once(dirname(__FILE__) . '/objects/Picture.php'); 
    require_once(dirname(__FILE__) . '/base/DBCollection.php'); 
     
    $pics = new DBCollection(Picture::create(), 'WHERE work_id = ' . $work->getId()); 
     
    $picsOut = ''; 
     
    foreach($pics->getList() as $pic) { 
        $picsOut .= $workTemplate->getContent()->picture($pic); 
    } 
     
    $output .= $workTemplate->getContent()->pictures($picsOut); 

    require_once(dirname(__FILE__) . '/objects/Group.php'); 

    $group = Group::getById($work->getGroup()); 

    $output = $workTemplate->getContent()->work($work, $group, $output);     
     
    $output = $globalTemplate->getContent()->getWrapper($output); 
     
    TemplateCache::set(Constants::CACHE_WORK . $workId, $output); 
     
    print $output; 


if ($pictureId > 0) { 
    $picCache = TemplateCache::get(Constants::CACHE_PICTURE . $pictureId); 

    if ($picCache) { 
        print $picCache; 
        die(); 
    } 

    require_once(dirname(__FILE__) . '/base/Template.php'); 
    $globalTemplate = new Template('index'); 
    $output = ''; 
     
    $picTemplate = new Template('picture'); 
     
    require_once(dirname(__FILE__) . '/objects/Picture.php'); 
     
    $pic = Picture::getById($pictureId); 
     
    if (!$pic) { 
        die(); 
    } 

    require_once(dirname(__FILE__) . '/objects/Group.php'); 
    require_once(dirname(__FILE__) . '/objects/Work.php'); 

    $work = Work::getById($pic->getWork()); 
    $group = Group::getById($work->getGroup()); 

    $output = $picTemplate->getContent()->picture($pic, $group, $work); 
     
    $output = $globalTemplate->getContent()->getWrapper($output); 
     
    TemplateCache::set(Constants::CACHE_PICTURE . $pictureId, $output); 
     
    print $output; 



works2
PM MAIL   Вверх
Canarat
Дата 7.2.2009, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Маркиза, покажите файлы /objects/Work.php и /objects/Group.php
PM MAIL   Вверх
Маркиза
Дата 8.2.2009, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Код

<?php

require_once(dirname(__FILE__) . '/../base/DBObject.php');

class Work extends DBObject {
    
    public $table = 'w_works';
    
    private $name = null;
    private $date = null;
    private $description = null;
    private $link = null;
    private $group = null;
    
    public static function create()
    {
        return new self();
    }
    
    public static function getById($id)
    {
        $new = new self();
        return $new->loadById($id);
    }

    public function makeObject($array = array())
    {
        parent::makeObject($array);
        
        $this->
            setName($array['name'])->
            setDate($array['datestamp'])->
            setDescription($array['description'])->
            setGroup($array['group_id'])->
            setLink($array['link']);
        
        return $this;
    }

    protected function makeArray()
    {
        $arr = parent::makeArray();
        
        $arr['name'] = $this->getName();
        $arr['datestamp'] = $this->date;
        $arr['description'] = $this->getDescription();
        $arr['group_id'] = $this->group;
        $arr['link'] = $this->link;
        
        return $arr;
    }
    
    public function getName()
    {
        return $this->name;
    }
    
    public function setName($name)
    {
        $this->name = $name;
        return $this;
    }
    
    public function setDescription($description)
    {
        $this->description = $description;
        return $this;
    }
    
    public function getDescription()
    {
        return $this->description;
    }
    
    public function getDate()
    {
        return $this->date;
    }
    
    public function setDate($date)
    {        
        $this->date = $date;
        return $this;
    }
    
    public function setGroup($group)
    {
        $this->group = $group;
        return $this;
    }
    
    public function getGroup()
    {
        return $this->group;
    }
    
    public function getLink()
    {
        return $this->link;
    }
    
    public function setLink($link)
    {
        $this->link = $link;
    }
    
}

 /objects/Work.php

Добавлено через 1 минуту и 4 секунды
Код

<?php

require_once(dirname(__FILE__) . '/../base/DBObject.php');

class Group extends DBObject {
    
    public $table = 'w_groups';
    
    private $name = null;
    private $year = 2009;
    private $month = 1;
    private $day = 1;
    
    public static function create()
    {
        return new self();
    }
    
    public static function getById($groupId)
    {
        $new = new self();
        return $new->loadById($groupId);
    }
    
    public function makeObject($array = array())
    {
        parent::makeObject($array);
        
        $this->
            setName($array['name'])->
            setYear($array['year'])->
            setMonth($array['month'])->
            setDay($array['day']);
        
        return $this;
    }

    protected function makeArray()
    {
        $arr = parent::makeArray();
        
        $arr['name']  = $this->getName();
        $arr['year']  = $this->getYear();
        $arr['month'] = $this->getMonth();
        $arr['day']   = $this->getDay();
        
        return $arr;
    }
    
    public function getName()
    {
        return $this->name;
    }
    
    public function setName($name)
    {
        $this->name = $name;
        return $this;
    }
    
    public function getDay()
    {
        return $this->day;
    }
    
    public function setDay($day = 1)
    {
        $this->day = $day;
        return $this;
    }
    
    public function getMonth()
    {
        return $this->month;
    }
    
    public function setMonth($month = 1)
    {
        $this->month = $month;
        return $this;
    }
    
    public function getYear()
    {
        return $this->year;
    }
    
    public function setYear($year = 2009)
    {
        $this->year = $year;
        return $this;
    }
    
    
    
    
    
}


objects/Group.php 

PM MAIL   Вверх
Маркиза
Дата 8.2.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Цитата(Canarat @ 7.2.2009,  17:20)
Маркиза, я вам ответил выше. Для полной уверенности хорошо бы исходники классов Work и DBCollection.

ekodrive, мимо, неправильно.

Я была бы Вам очень благодарна, если бы вы сказали где это прописывать smile  а то что то не получается.
PM MAIL   Вверх
Canarat
Дата 8.2.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



В общем для полного счастья можно приложить файл /base/Template.php а потом ещё один файл, местоположение которого определится из /base/Template.php.

А вообще, гораздо проще было бы отдать все исходники скрипта кому-нибудь и он за 20 баксов разберется в его дебрях и все исправит.
PM MAIL   Вверх
Маркиза
Дата 8.2.2009, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Код

<?php

class Template
{
    
    private $template = null;
    
    public function __construct($template)
    {
        require_once(dirname(__FILE__) . '/../templates/' . $template . '.tpl.php');
        
        $classname = 'Template_' . $template;
        
        $this->template = new $classname;
    }
    
    public static function load($template)
    {
        return new self($template);
    }
    
    public function getContent()
    {
        return $this->template;
    }
    
}

Вот он
PM MAIL   Вверх
Canarat
Дата 8.2.2009, 17:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Мне кажется я уже готов вырвать руки этому программисту.

Давайте код файлов /templates/index.tpl.php и /templates/work.tpl.php, на всякий случай.
PM MAIL   Вверх
Маркиза
Дата 8.2.2009, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Код

<?php

class Template_index {

    public function getWrapper($content) {
        
        return <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="content-Type" content="text/html; charset=UTF-8" />
<title>Установка внедорожного оборудования - Pajero shop service</title>
<meta name="Description" Content="Установка off-road оборудования" />
<meta name="Keywords" CONTENT="Сервис Pajero" />
<link rel="stylesheet" type="text/css" href="/service/style.css" />


</head>
<body>
    <div class="topbg"></div>
<div class="header">
<div class="logo"><a href="index.php"><img src="/service/img/pajero-service-logo.gif" width="308" height="92" alt="Установка off-road оборудования Pajero Shop Service" title="РќР° главную" /></a><br /><span class="phone">тел.: (495) 506 36 47</span><br /><span class="email">e-mail: <a href="mailto:[email protected]">[email protected]</a></span></div>
<div class="about"><div class="menu"><a href="/service/index.php">О сервисе</a>&nbsp;</div></div>
<div class="works"><div class="menu-pressed">Наши работы&nbsp;</div></div>
<div class="contacts"><div class="menu"><a href="/service/contacts.php">Контакты</a>&nbsp;</div></div>
</div>
<div class="content">

    
        
{$content}



<br />
</div>
<div class="botbg"></div>
<div class="footer">
<!--LiveInternet counter--><script type="text/javascript"><!--
document.write("<a href='http://www.liveinternet.ru/click' "+
"target=_blank><img src='http://counter.yadro.ru/hit?t14.2;r"+
escape(document.referrer)+((typeof(screen)=="undefined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";"+Math.random()+
"' alt='' title='LiveInternet: ???????? ????? ?????????? ?? 24"+
" ????, ??????????? ?? 24 ???? ? ?? ???????' "+
"border=0 width=88 height=31><\/a>")//--></script><!--/LiveInternet-->

<!-- begin of Top100 logo -->
<a href="http://top100.rambler.ru/top100/"><img src="http://top100-images.rambler.ru/top100/banner-88x31-rambler-gray2.gif" alt="Rambler's Top100" width="88" height="31" border="0" /></a>
<!-- end of Top100 logo -->

<[email protected] COUNTER--><script language="JavaScript" type="text/javascript"><!--
d=document;var a='';a+=';r='+escape(d.referrer)
js=10//--></script><script language="JavaScript1.1" type="text/javascript"><!--
a+=';j='+navigator.javaEnabled()
js=11//--></script><script language="JavaScript1.2" type="text/javascript"><!--
s=screen;a+=';s='+s.width+'*'+s.height
a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth)
js=12//--></script><script language="JavaScript1.3" type="text/javascript"><!--
js=13//--></script><script language="JavaScript" type="text/javascript"><!--
d.write('<a href="http://top.mail.ru/jump?from=1461878"'+
' target="_top"><img src="http://de.c4.b6.a1.top.mail.ru/counter'+
'?id=1461878;t=210;js='+js+a+';rand='+Math.random()+
'" alt="[email protected]"'+' border="0" height="31" width="88"/><\/a>')
if(11<js)d.write('<'+'!-- ')//--></script><noscript><a
target="_top" href="http://top.mail.ru/jump?from=1461878"><img
src="http://de.c4.b6.a1.top.mail.ru/counter?js=na;id=1461878;t=210"
border="0" height="31" width="88"
alt="[email protected]"/></a></noscript><script language="JavaScript" type="text/javascript"><!--
if(11<js)d.write('--'+'>')//--></script><!--/COUNTER-->

<!-- SpyLOG -->
<script src="http://tools.spylog.ru/counter_cv.js" id="spylog_code" type="text/javascript" counter="1091205" part="" track_links="ext" page_level="0">
</script>
<noscript>
<a href="http://u10912.05.spylog.com/cnt?cid=1091205&f=3&p=0" target="_blank">
<img src="http://u10912.05.spylog.com/cnt?cid=1091205&p=0" alt="SpyLOG" border="0" width="88" height="31"></a>
</noscript>
<!--/ SpyLOG -->

</div>

</body>
</html>

EOF;
        
    }
    
    public function groups($groups) {
        
        return <<<EOF
<h1>Наши работы</h1>

{$groups}
EOF;
        
    }

    public function group($group) {
        
        return <<<EOF
<h2>{$group->getName()}</h2>
EOF;
        
    }
    
    public function works($works) {
        
        return <<<EOF
<ul>
    {$works}
</ul>
EOF;
        
    }
    
    public function work($work) {
        
        return <<<EOF
    <li><a href="?work={$work->getId()}">{$work->getName()}</a></li>
EOF;
        
    }
    
}


index

Добавлено через 1 минуту и 22 секунды
Код

<?php

class Template_work {

    public function picture($pic)
    {
        
        return <<<EOF
    <li>
        <a href="?pic={$pic->getId()}" class="photo">
            <img src="{$pic->getWebPictureThumbnail()}" /><br />
            {$pic->getDescription()}
        </a>
    </li>
EOF;
        
    }
    
    public function pictures($pics)
    {
        
        return <<<EOF
<ul class="photo">

    {$pics}

</ul>
EOF;
        
    }
    
    public function work($work, $group, $out)
    {
        $description = $work->getDescription();
        $parts = explode(PHP_EOL, $description);
        
        $desc = '';
        
        foreach($parts as $part) {
            $desc .= "<p>" . $part . "</p>\n";
        }
        
        $link = $work->getLink();
        
        if ($link) {
            $link = <<<EOF
<br />
<a href="{$link}" target="_blank">Посмотреть РІ магазине</a>        
EOF;
        }
    
        return <<<EOF
<h1><a href="/service/works.php">Наши работы</a></h1>

<h2 $group->getName() }</h2>
<a href="/works/works.php">Назад к списку</a>

<h3 style="clear: both;">{$work->getName()}</h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
    <td valign="top">

{$desc}

{$link}

{$out}
</td>
</tr>
</table>
EOF;


work
PM MAIL   Вверх
Canarat
Дата 9.2.2009, 12:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Где-то несоответствие. Между файлом work.tpl.php и сайтом который вы привели в первом сообщении..Ну да ладно.

В файле work.tpl.php замените /works/works.php на /works/works.php?group={$work->getGroup()}

И должно заработать. И постарайтесь не сбить кодировку.
PM MAIL   Вверх
Маркиза
Дата 9.2.2009, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Цитата(Canarat @ 9.2.2009,  12:56)
Где-то несоответствие. Между файлом work.tpl.php и сайтом который вы привели в первом сообщении..Ну да ладно.

В файле work.tpl.php замените /works/works.php на /works/works.php?group={$work->getGroup()}

И должно заработать. И постарайтесь не сбить кодировку.

Поменяла- не работает....
А где именно не соответствие?
PM MAIL   Вверх
Canarat
Дата 9.2.2009, 19:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Маркиза, что не работает-то? Вы изменяете в локальной копии или непосредственно на сайте? Если в локальной копии, тогда продемонстируйте, изменился ли HTML-код нужной страницы.  Покажите так же измененный PHP файл.

А несоответствие, что обе ссылки на сайте вида /service/works.php, а в коде одна - /works/works.php, и она нерабочая.
PM MAIL   Вверх
Маркиза
Дата 9.2.2009, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Код

<?php 

class Template_work { 

    public function picture($pic) 
    { 
         
        return <<<EOF 
    <li> 
        <a href="?pic={$pic->getId()}" class="photo"> 
            <img src="{$pic->getWebPictureThumbnail()}" /><br /> 
            {$pic->getDescription()} 
        </a> 
    </li> 
EOF; 
         
    } 
     
    public function pictures($pics) 
    { 
         
        return <<<EOF 
<ul class="photo"> 

    {$pics} 

</ul> 
EOF; 
         
    } 
     
    public function work($work, $group, $out) 
    { 
        $description = $work->getDescription(); 
        $parts = explode(PHP_EOL, $description); 
         
        $desc = ''; 
         
        foreach($parts as $part) { 
            $desc .= "<p>" . $part . "</p>\n"; 
        } 
         
        $link = $work->getLink(); 
         
        if ($link) { 
            $link = <<<EOF 
<br /> 
<a href="{$link}" target="_blank">Посмотреть РІ магазине</a>         
EOF; 
        } 
     
        return <<<EOF 
<h1><a href="/service/works.php">Наши работы</a></h1> 

<h2 $group->getName() }</h2> 
<a href="/works/works.php?group={$work->getGroup()} 
">Назад Рє СЃРїРёСЃРєСѓ</a> 

<h3 style="clear: both;">{$work->getName()}</h2> 
<table cellspacing="0" cellpadding="0" border="0"> 
<tr> 
    <td valign="top"> 

{$desc} 

{$link} 

{$out} 
</td> 
</tr> 
</table> 
EOF; 
         
    } 


Щас дам код на сайте секунду

Добавлено через 1 минуту и 29 секунд
Код

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="content-Type" content="text/html; charset=UTF-8" />
<title>Установка внедорожного оборудования - Pajero shop service</title>
<meta name="Description" Content="Установка off-road оборудования" />
<meta name="Keywords" CONTENT="Сервис Pajero" />
<link rel="stylesheet" type="text/css" href="/service/style.css" />


</head>
<body>
    <div class="topbg"></div>
<div class="header">
<div class="logo"><a href="index.php"><img src="/service/img/pajero-service-logo.gif" width="308" height="92" alt="Установка off-road оборудования Pajero Shop Service" title="На главную" /></a><br /><span class="phone">тел.: (495) 506 36 47</span><br /><span class="email">e-mail: <a href="mailto:[email protected]">[email protected]</a></span></div>
<div class="about"><div class="menu"><a href="/service/index.php">О сервисе</a>&nbsp;</div></div>
<div class="works"><div class="menu-pressed">Наши работы&nbsp;</div></div>
<div class="contacts"><div class="menu"><a href="/service/contacts.php">Контакты</a>&nbsp;</div></div>
</div>
<div class="content">

    
        
<h1><a href="/service/works.php">Наши работы</a></h1>

<h2 >Mitsubishi Pajero II    </h2>
<a href="/service/works.php">Назад к списку</a>

<h3 style="clear: both;">Защита картера (эксклюзив)</h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
    <td valign="top">

<p>Ручная инкрустация защиты картера</p>


Добавлено через 5 минут и 12 секунд
Изменяю на сайте, так как локальной копии нету
PM MAIL   Вверх
Canarat
Дата 9.2.2009, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



А теперь сравните PHP-код:
Код

<h1><a href="/service/works.php">Наши работы</a></h1> 
<h2 $group->getName() }</h2> 
<a href="/works/works.php?group={$work->getGroup()} 
">Назад Рє СЃРїРёСЃРєСѓ</a> 
<h3 style="clear: both;">{$work->getName()}</h2> 

И соответствующий HTML-код на сайте:
Код

<h1><a href="/service/works.php">Наши работы</a></h1>
<h2 >Mitsubishi Pajero II    </h2>
<a href="/service/works.php">Назад к списку</a>
<h3 style="clear: both;">Защита картера (эксклюзив)</h2>


Как говорится найди N отличий. Вывод - вы не обновили этот файл на сервере, без этого естественно ничего не будет работать.
PM MAIL   Вверх
Маркиза
Дата 9.2.2009, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Обновила..не работает все равно...
PM MAIL   Вверх
Canarat
Дата 9.2.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Как я могу поверить что вы обновили, если на сайте ничего не меняется(я имею в виду исходный код)? Проверьте пути и соответствующие файлы. Выкачайте непосредственно файл с сервера в отдельную папку, измените и закачайте обратно.
PM MAIL   Вверх
Маркиза
Дата 9.2.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Щас пробую Cash очистить может тогда заработает

Добавлено через 39 секунд
Окей щас сделаю
PM MAIL   Вверх
Маркиза
Дата 9.2.2009, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Canarat, спасибо большое, вы мне очень помогли, любой труд оплачивается, и поэтому хотелось бы с курьером в знак благодарности отправить вам подарок, если не трудно напишите в личку как это можно сделать.Еще раз большое спасибо Вам. smile 
PM MAIL   Вверх
Canarat
Дата 9.2.2009, 23:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Маркиза, лучше пометьте тему решенной и все итак будет прекрасно.
PM MAIL   Вверх
Маркиза
Дата 10.2.2009, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Пометила, но у меня опять проблема...ссылка вчера работала, а сегодня при заходах вот это выдает даже не знаю что делать, 71 строка вроде в норме.
PM MAIL   Вверх
godvinn
Дата 10.2.2009, 10:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: 1
Всего: 1



а помоему на 71 строчку и ругается.
у тебя на синтаксическую ошибку ругаться посмотри скобки все ли закрыто.  

Это сообщение отредактировал(а) godvinn - 10.2.2009, 10:53


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
Маркиза
Дата 10.2.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Щас гляну.

Добавлено через 2 минуты и 37 секунд
Вроде все закрыто не могу понять....
Код

<?php

class Template_work {

    public function picture($pic)
    {
        
        return <<<EOF
    <li>
        <a href="?pic={$pic->getId()}" class="photo">
            <img src="{$pic->getWebPictureThumbnail()}" /><br />
            {$pic->getDescription()}
        </a>
    </li>
EOF;
        
    }
    
    public function pictures($pics)
    {
        
        return <<<EOF
<ul class="photo">

    {$pics}

</ul>
EOF;
        
    }
    
    public function work($work, $group, $out)
    {
        $description = $work->getDescription();
        $parts = explode(PHP_EOL, $description);
        
        $desc = '';
        
        foreach($parts as $part) {
            $desc .= "<p>" . $part . "</p>\n";
        }
        
        $link = $work->getLink();
        
        if ($link) {
            $link = <<<EOF
<br />
<a href="{$link}" target="_blank">Посмотреть РІ магазине</a>        
EOF;
        }
    
        return <<<EOF
<h1><a href="/service/works.php">Наши работы</a></h1>

<h2 $group->getName() }</h2>
<a href="/works/works.php">Назад к списку</a>

<h3 style="clear: both;">{$work->getName()}</h2>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
    <td valign="top">

{$desc}

{$link}

{$out}
</td>
</tr>
</table>
EOF;



Добавлено через 6 минут и 39 секунд
JВсе супер, работает, спасибо и еще один вопросик, а как шрифт исходный вернуть странице?

Добавлено через 13 минут и 34 секунды
Fatal error: Call to a member function getName() on a non-object in /home/virtwww/w_shop-pajero4x4-ru_400afc50/http/works/admin.php on line 108
 Что именно надо исправить подскажите?

PM MAIL   Вверх
Маркиза
Дата 10.2.2009, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



  $pic->setPhotoFromForm($_FILES['image'], $group->getName() . ' ' . $work->getName() . ' ' . $num++);     
вот эта строка
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.