# sfSimplePagePlugin ## Overview The sfSimplePagePlugin allows you to manage like static pages with symfony. for example, if the request is like this http://example.com/frontend_dev.php/static/sample.html the module of this plugin, which is sfSimplePage module, render the sample.html in ./data/static directory. if the request is like this http://example.com/frontend_dev.php/static/hoge/sample2.html render the sample2.html in ./data/static/hoge directory. These page is rendered by symfony, so you can use view system of partial, component, helper... ## Installation * Install plugin: symfony plugin-install http://plugins.symfony-project.com/sfSimplePagePlugin * or through Subversion: svn co http://svn.symfony-project.com/plugins/sfSimplePagePlugin/trunk * (only symfony 1.2+) Enable this plugin in ProjectConfiguration.class.php public function setup() { $this->enablePlugins('sfSimplePagePlugin'); } * Enable this sfSimplePage module in your setting.yml all: .settings: enabled_modules: [default, sfSimplePage] * Make "static" directory in data directory mkdir ./data/static * Deploy your template in ./data/static directory * Clear cache ./symfony cc * [Optional] Use the sfSimplePageFile routing rule to create links to files in the static root dir e.g.in template : echo link_to( 'About', '@sfSimplePageFile?file=about.html') * [Optional] I18n support is provided through the classical means of session user culture (sf_culture parameter) In application app.yml add sf_simple_page_plugin_use_i18n: true to enable i18n support Now the session user culture (e.g. en, gr) is interpreted as a first implicit directory. Also when the static file is not found under the culture dir a final attempt is made on the static folder before giving a 404 error. Example contents of static folder static/ en/ help.html about.html el/ help.html about.html The application is responsible for the management of a sane sf_culture session variable. Read i18n support in "symfony book". * [Optional] Use the component sfSimplePage/static ('file'=>$file) from anywhere in the view layer to embed static content on every page you desire. e.g. in apps/frontend/modules/product/templates/showSuccess.php [...] <div id="terms"> <?php include_component('sfSimplePage','static', array('file'=>'terms.html') ) ?> </div> will output the contents of terms.html file inside the #terms div ! ## NOTES: * The names of the route prefix and the static content directory can be changed from the application app.yml configuration file e.g. in apps/frontend/config/app.yml: all: sf_simple_page_plugin_route_prefix: documentation sf_simple_page_plugin_template_path: %SF_DATA_DIR%/doc This will mean that the route prefix for static content is documentation (i.e. domain.com/index.php/documentation) and that the file data are in data/doc relative to sympfony root on a typical installation