# Configuration
# Rapidez
Publish the Rapidez config file:
php artisan vendor:publish --provider="Rapidez\Core\RapidezServiceProvider" --tag="config"
After that you'll find all configuration options in config/rapidez/*.php
with comments explaining the options. Most of them use the env()
function so it's possible to have different configurations per environment in the .env
.
TIP
For more info on how the configuration works read the Laravel configuration docs (opens new window)
# Magento
Some Magento configuration options involve the frontend, as the Magento frontend is not used most of them don't do anything. Rapidez listens to some of those configurations:
Configuration | Explanation |
---|---|
general/locale/code | Locale |
currency/options/default | Currency |
checkout/cart/redirect_to_cart | Redirect to the cart when adding a product |
catalog/seo/product_url_suffix | Product url suffix |
catalog/seo/category_url_suffix | Category url suffix |
catalog/frontend/show_swatches_in_product_list | Show the product options in product lists |
customer/address/middlename_show | Show/hide middlename |
customer/address/telephone_show | Show/hide telephone |
customer/address/company_show | Show/hide company |
customer/address/street_lines | Show street, housenumber and/or addition |
reports/options/product_view_enabled | Report product views |
cataloginventory/options/show_out_of_stock setting | Show/hide out of stock products |
design/head/includes | Additional scripts/styles in the head |
design/head/default_title | The default title to use when no customized title has been set |
design/head/title_prefix | Prefix to give to a customized title when set |
design/head/title_suffix | Suffix to give to a customized title when set |
design/search_engine_robots/default_robots | Meta robots tag value |
design/search_engine_robots/custom_instructions | See Robots.txt |
If you need to access a Magento configuration you can use the @config
Blade Directive or the Rapidez facade Rapidez::config()
which accepts the same parameters as the directive.
# Forgot password email
You've to change the url in the forgot password email as this points to Magento instead of Rapidez. Replace this:
{{var this.getUrl($store,'customer/account/createPassword/',[_query:[token:$customer.rp_token],_nosid:1])}}
With
https://your-rapidez-url.com/resetpassword?token={{var customer.rp_token}}
# Alternatively
If you set the store view base url to that of your Rapidez installation you can keep the getUrl to dynamically determine the url.
- {{var this.getUrl($store,'customer/account/createPassword/',[_query:[token:$customer.rp_token],_nosid:1])}}
+ {{var this.getUrl($store,'resetpassword',[_query:[token:$customer.rp_token],_nosid:1])}}
# Customer Token Lifetime
By default the customer token lifetime is set to 1 hour in Magento so a customer needs to login again when the token expires in Rapidez. It's recommended to raise the expiration to for example 24 hours. See: Stores > Settings > Configuration > Services > OAuth > Access Token Expiration.
# Robots.txt
By default Rapidez will use the robots.txt (opens new window) file. If you'd like to use the Magento configuration from design/search_engine_robots/custom_instructions
which gives you the flexibility to have a robots.txt
per website; you need to remove that file from your repository. That way it will fallback to the robots.txt
route (opens new window). Depending on your webserver configuration you could get a 404 response. For example Laravel Forge (opens new window) and Laravel Valet (opens new window) do include a line causing this as the file could not be found:
location = /robots.txt { access_log off; log_not_found off; }
The trick is to remove this line or extend it, depending on if you want the other log configurations:
location = /robots.txt { access_log off; log_not_found off; try_files $uri $uri/ /index.php?$query_string; }
# Elasticsearch
To communicate with Elasticsearch, Rapidez is using the laravel-elasticsearch (opens new window) package. If you need to change the Elasticsearch credentials you can do so with these .env
configurations:
ELASTICSEARCH_HOST=localhost
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_SCHEME=
ELASTICSEARCH_USER=
ELASTICSEARCH_PASS=