Блокнот

всё, что онужно бы запомнить

Как перенаправить все обращения на один контроллер в Symfony

июн 212015

Можно добавить правило в app/config/routing.yml,  которое будет перехватывать все запросы.

Примерно так:

catch_all:
   path: /{catchall}
   defaults:
     _controller: CorePageBundle:Page:Index
   requirements:
     catchall: "^(?!admin).*"

Тут все, что не начинается на /admin пойдет через CorePageBundle:Page:Index

Смена домена в PrestaShop 1.6

июн 142015

При смене домена магазина работающего на prestashop нужно поменять домен магазина в БД.

Если этого не сделать будет редирект на старый домен.

Нужно поменть записи тут:

update ps_shop_url set domain='new-domain.net', domain_ssl='new-domain.net' where id_shop_url=1;

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

И еще тут:

update ps_configuration set value='new-domain.net' where name='PS_SHOP_DOMAIN';

update ps_configuration set value='new-domain.net' where name='PS_SHOP_DOMAIN_SSL';

Symfony2 - creating own vendor bundle - project and git strategy

окт 212014

source: http://stackoverflow.com/questions/21523481/symfony2-creating-own-vendor-bundle-project-and-git-strategy

 


Create a new empty symfony project

php composer.phar create-project symfony/framework-standard-edition demo/ 2.4.1
cd demo

Generate a new bundle

(for example 'src/Company/DemoBundle')

php app/console generate:bundle
cd src/Company/DemoBundle/

Init your github repository in 'src/Company/DemoBundle'

git init
touch README.md
git add .
git commit -m "initial commit"
git remote add origin https://github.com/YourAccount/DemoBundle.git
git push -u origin master

Add a composer.json file

src/Company/DemoBundle/composer.json:

{
	"name" : "company/demobundle",
	"description" : "A demo bundle",
	"type" : "symfony-bundle",
	"authors" : [{
		"name" : "demo",
		"email" : "demo@company.com"
	}],
	"keywords" : [
		"demo bundle"
	],
	"license" : [
		"MIT"
	],
	"require" : {
	},
	"autoload" : {
		"psr-0" : {
			"Company\\DemoBundle" : ""
		}
	},
	"target-dir" : "Company/DemoBundle",
	"repositories" : [{
	}],
	"extra" : {
		"branch-alias" : {
			"dev-master" : "some_version-dev"
		}
	}
}

Now you have the base structure of your bundle


Use it in another project

composer.json:

[...]
	"require" : {
		[...]
		"company/demobundle" : "dev-master"
	},
	"repositories" : [{
		"type" : "vcs",
		"url" : "https://github.com/Company/DemoBundle.git"
	}],
[...]

Do:

curl -sS https://getcomposer.org/installer | php
php composer.phar update company/demobundle

app/AppKernel:

new Company\DemoBundle\CompanyDemoBundle(),

Work on it

You can clone your DemoBundle in the src/Company folder, then manual install it
You can use symlink

Conclusion

You can develop and test your bundle in your first project and use it with github and composer in your second project.