веб-страница¶
** Общие **
Откройте новый проект:
./odoo.py scaffold newpage addons
Добавьте `` website`` как зависимость к `` newpage``:
'depends': '[website]'
затем добавьте флаг website = True на контроллер, это установит несколько новых переменных в объекте запроса и позволит использовать макет сайта в нашем шаблоне.
** Создание страниц **
** 1 способ **
Напишите следующий код в `` controllers.py``:
from openerp import http
classNewPage(http.Controller):
@http.route('/new-page/',auth='public', website=True)
def index(self,**kw):
return http.request.render('newpage.index')
Новая веб-страница появится, добавив - `` / new-page / `` `` http.request.render ('newpage.index') `` - загрузив тамплату для новой страницы
Шаблон `` templates.xml``
<openerp>
<data>
<templateid="index">
<t t-call="website.layout">
<t t-set="title">New page</t>
<div class="oe_structure">
<div class="container">
<h1>My first web page</h1>
<p>Hello, world!</p>
</div>
</div>
</t>
</template>
</data>
</openerp>
`` website.layout`` означает, что используются элементы шаблона сайта.
После перезапуска сервера при обновлении модуля (для обновления манифеста и шаблона) перейдите по адресу http: // localhost: 8069 / new-page /. Вы увидите новую страницу с заголовком * «Моя первая веб-страница» * и текстом * «Привет, мир!» *
2 пути
Напишите в шаблоне следующее:
<template name="Services page" id="website.services" page="True">
<t t-call="website.layout">
<div id="wrap">
<div class="container">
<h1>Our Services</h1>
<ul class="services">
<li>Cloud Hosting</li>
<li>Support</li>
<li>Unlimited space</li>
</ul>
</div>
</div>
</t>
</template>
`` page = "True" `` создает страницу следующим образом: http: // localhost: 8069 / page / services /
Если добавить в `` view.xml``:
<record id="services_page_link" model="website.menu">
<field name="name">Services</field>
<field name="url">/page/services</field>
<field name="parent_id" ref="website.main_menu" />
<field name="sequence" type="int">99</field>
</record>
Этот код добавит ссылку в главное меню.