Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

View To Do Item

Create php service class TodoList under Service directory, pasted following code

<?php

namespace Apps\TodoList\Service;

use Phpfox;

class TodoList extends \Phpfox_Service
{
    public function getForBrowse($id)
    {
        return \Phpfox::getLib('database')
            ->select('*')
            ->from(Phpfox::getT('todolist_task'))
            ->where('task_id='. (int)$id)
            ->execute('getSlaveRow');
    }
}

Register service to start.php

// register service
$module->addServiceNames([
    'todo.browse' => Service\Browse::class,
    'todo'        => Service\TodoList::class,
]);

Create a new controller AddController under Controller directory, then paste following code

<?php

namespace Apps\TodoList\Controller;


class ViewController extends \Phpfox_Component
{
    public function process(){

        $template  = $this->template();

        // add your section menus
        $template->buildSectionMenu('to-do-list', [
            'Browse' => $this->url()->makeUrl('/to-do-list'),
            'Create' => $this->url()->makeUrl('/to-do-list/add'),
        ]);

        $template->menu('Add To Do', $this->url()->makeUrl('/to-do-list/add'));

        $id = $this->request()->get('req3');

        $browseService = \Phpfox::getService('todo');
        $aItem  = $browseService->getForBrowse($id);

        $url = $this->url()->permalink('to-do-list.view', $aItem['task_id'], $aItem['name']);

        $template
            ->setTitle($aItem['name'])
            ->setBreadCrumb($aItem['name'], $url);

        $template->assign([
            'aItem'=>$aItem,
        ]);
    }
}

Create a template file view.html.php under views\controller directory, paste following code

<h4>Name</h4>
<p>{$aItem.name}</p>
<h4>Description</h4>
<p>{$aItem.description}</p>
<h4>Status</h4>
<p>{ if $aItem.task_status >0 }complete{else}in-complete{/if}</p>
<h4>Created</h4>
<p>{$aItem.time_stamp|convert_time}</p>

Visit to do list homepage, click a detail title to be redirected to detail page, the final result is similar to

Congratulation, You have basic knowledge about Create, Listing, View a to do list item, using phpFox services database, url, template
Next chapter will show you how to interact to most important of social network feature Activity Feed.

todolist-feed.md

  • No labels