Maison  >  Article  >  développement back-end  >  实习小结八:创建新网页--添加路由文件

实习小结八:创建新网页--添加路由文件

WBOY
WBOYoriginal
2016-08-08 09:19:361323parcourir

在创建一个新网页时,要在相应的global.php文件中添加该网页的路由,并且在controller中添加相应的action。

路由代码:

<code><span>'cat-types'</span> => <span>array</span>(
                <span>'type'</span> => <span>'segment'</span>,
                <span>'options'</span> => <span>array</span>(
                    <span>'route'</span> => <span>'/cat/:type_name/'</span>,
                    <span>'constraints'</span> => <span>array</span>(
                        <span>'type_name'</span> => <span>'[a-zA-Z0-9_-]+'</span>
                    ),
                    <span>'defaults'</span> => <span>array</span>(
                        <span>'controller'</span> => <span>'Top10Inaction\Controller\index'</span>,
                        <span>'action'</span> => <span>'catProducts'</span>
                    )
                )
            ),</code>

catProductsAction代码:

<code><span>public</span> function catProductsAction()
    {
        <span>$type_name</span><span>=</span><span>$this</span><span>-></span><span>params</span>()<span>-></span>fromRoute(<span>'type_name'</span>, <span>null</span>);
        <span>$sort</span><span>=</span><span>$this</span><span>-></span>getRequest()<span>-></span>getQuery(<span>'sort'</span>, <span>null</span>);
        <span>$industry</span><span>=</span><span>$this</span><span>-></span>getTypeCollection()<span>-></span>getIndustryByName(<span>$type_name</span>);
        <span>$subject</span><span>=</span><span>$this</span><span>-></span>getSubjectCollection()<span>-></span>getSubjectsByIndustry(<span>$industry</span>);

        <span>$type</span><span>=</span><span>$this</span><span>-></span>getTypeCollection()<span>-></span>getTypeByName(<span>$type_name</span>);
        <span>$display_name</span><span>=</span><span>$type</span><span>-></span>display_name;

        <span>$default_sort</span><span>=</span><span>array</span>(<span>'price'</span>,<span>'overall_score'</span>);

        <span>if</span>(<span>$this</span><span>-></span>isMobile()) {
            <span>$this</span><span>-></span>layout(<span>'layout/mobile'</span>);
            <span>$view</span><span>=</span><span>new</span> ViewModel(<span>array</span>(                
            ));
            <span>$view</span><span>-></span>setTemplate(<span>'mobile/cat-products'</span>);
            <span>return</span><span>$view</span>;
        } <span>else</span> {          
            <span>$product_groups</span><span>=</span><span>array</span>(); 
            <span>if</span>(<span>!</span>(in_array(<span>$sort</span>, <span>$default_sort</span>))) {
                <span>$sort</span><span>=</span><span>'overall_score'</span>;
            }
            <span>$sortby</span><span>=</span><span>array</span>(<span>$sort</span><span>=></span><span>-</span><span>1</span>);
            <span>$condition</span><span>=</span><span>array</span>(<span>'type_name'</span><span>=></span><span>$type_name</span>);
            <span>$products</span><span>=</span><span>$this</span><span>-></span>getProductCollection()<span>-></span>getPaginator(<span>'product'</span>, <span>array</span>(
                <span>'condition'</span><span>=></span><span>$condition</span>,
                <span>'sortby'</span><span>=></span><span>$sortby</span>,
                ));
            <span>$products</span><span>-></span>setItemCountPerPage(<span>0</span>); 
            <span>$totalItemCount</span><span>=</span><span>$products</span><span>-></span>getPages()<span>-></span>totalItemCount;

            <span>$view</span><span>=</span><span>new</span> ViewModel(<span>array</span>(
                <span>'type_name'</span><span>=></span><span>$type_name</span>,
                <span>'products'</span><span>=></span><span>$products</span>,
                <span>'industry'</span><span>=></span><span>$industry</span>,
                <span>'subject'</span><span>=></span><span>$subject</span>,
                <span>'totalItemCount'</span><span>=></span><span>$totalItemCount</span>,
                <span>'display_name'</span><span>=></span><span>$display_name</span>,
            ));

            <span>$view</span><span>-></span>setTemplate(<span>'index/cat-products'</span>);
            <span>return</span><span>$view</span>;
        }
    }</code>

上面的$view->setTemplate中的内容就是需要创建的cat-products.phtml文件,在其中写入布局之类的。

以上就是创建新网页的具体步骤。

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了实习小结八:创建新网页--添加路由文件,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP的元语言编程Article suivant:小谈Vim打开文件开头的