Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion concepts/framework/architecture/storefront-concept.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Let's have a look at the Storefront's general component structure. When opening

Starting at the top of this list, you will find all Storefront controllers inside the `Controller` directory. As said beforehand, a page is being built inside that controller with the help of the corresponding page loaders, Pages, Pagelets, and events, which you will find in the directories: `Pages`, `Pagelets`, and their sub-directories. Each controller method will also give detailed information about its routing with the help of annotations. The directory `DependencyInjection` includes all dependencies which are used in the specific controllers, whereas the `Event` directory includes route request events, and the `Framework` directory, amongst other things, also includes the Routing, Caching, and furthermore. `Migration` and `Test` obviously include migrations and tests for the Storefront component \(e.g., tests for each Storefront controller\).

As the Storefront theme uses Boostrap, the template structure inside `./Resources` is a derivative of the Bootstrap starter template. Besides using Twig as the templating engine and SASS as the CSS preprocessor, we are also using Webpack for bundling and transpiling purposes. This templating directory structure is considered the best practice. If you are interested in developing your own themes or plugins, this section will give more information.
As the Storefront theme uses Bootstrap, the template structure inside `./Resources` is a derivative of the Bootstrap starter template. Besides using Twig as the templating engine and SASS as the CSS preprocessor, we are also using Webpack for bundling and transpiling purposes. This templating directory structure is considered the best practice. If you are interested in developing your own themes or plugins, this section will give more information.

## Composite data handling

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ bin/console dal:refresh:index --use-queue

### Messenger consume

`messenger:consume -vv` starts a message consumer working on all tasks. This could be startet *X* times. When using more than 3 message consumers, you will need something like RabbitMq to handle the data.
`messenger:consume -vv` starts a message consumer working on all tasks. This could be started *X* times. When using more than 3 message consumers, you will need something like RabbitMq to handle the data.

```bash​
bin/console messenger:consume -vv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Normally a shard in Elasticsearch can hold at least tens of gigabytes, so you mi

| Variable | Possible values | Description |
| ---------|-----------------|-------------|
| `APP_ENV`| `prod` / `dev` | This variable is important if you want to activate the debug mode and see possible errors of Elasticsearch. You have to set the variable to dev for debug mode and prod if you want to use elasticsaerch in a productive system.|
| `APP_ENV`| `prod` / `dev` | This variable is important if you want to activate the debug mode and see possible errors of Elasticsearch. You have to set the variable to dev for debug mode and prod if you want to use Elasticsearch in a productive system.|
| `OPENSEARCH_URL`| `localhost:9200` | A comma separated list of Elasticsearch hosts. You can find the possible formats [here](https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/host-config.html#inline-host-config)|
| `SHOPWARE_ES_INDEXING_ENABLED`| `0` / `1` | This variable activates the indexing to Elasticsearch|
| `SHOPWARE_ES_ENABLED`| `0` / `1` | This variable activates the usage of Elasticsearch for your shop|
Expand Down Expand Up @@ -144,7 +144,7 @@ For a reindex of the whole shop, you can use the command `bin/console dal:refres
### Alias creation

Some systems require you to manually execute `bin/console es:create:alias` after the indexing is processed completely.
Try that command if your index was created fully without errors and you still dont see products in your Storefront.
Try that command if your index was created fully without errors and you still don't see products in your Storefront.

### What happens when indexing

Expand Down
6 changes: 3 additions & 3 deletions guides/hosting/infrastructure/reverse-http-cache.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ sub vcl_recv {
} elsif (req.http.Accept-Encoding ~ "deflate") {
set req.http.Accept-Encoding = "deflate";
} else {
# unkown algorithm
# unknown algorithm
unset req.http.Accept-Encoding;
}
}
Expand Down Expand Up @@ -312,7 +312,7 @@ sub vcl_recv {
} elsif (req.http.Accept-Encoding ~ "deflate") {
set req.http.Accept-Encoding = "deflate";
} else {
# unkown algorithm
# unknown algorithm
unset req.http.Accept-Encoding;
}
}
Expand Down Expand Up @@ -556,7 +556,7 @@ sub vcl_recv {
} elsif (req.http.Accept-Encoding ~ "deflate") {
set req.http.Accept-Encoding = "deflate";
} else {
# unkown algorithm
# unknown algorithm
unset req.http.Accept-Encoding;
}
}
Expand Down
4 changes: 2 additions & 2 deletions guides/hosting/installation-updates/composer.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Versioning and Dependencies

{% hint style="danger" %}
This setup is no longer the recomended way to manage a Shopware installation. Please refer to our [Flex-guide](../../installation/flex.md#How-do-I-migrate-from-Production-Template-to-Symfony-Flex?) on how to migrate to a symfony flex based setup.
This setup is no longer the recommended way to manage a Shopware installation. Please refer to our [Flex-guide](../../installation/flex.md#How-do-I-migrate-from-Production-Template-to-Symfony-Flex?) on how to migrate to a symfony flex based setup.
{% endhint %}

## Overview
Expand Down Expand Up @@ -255,7 +255,7 @@ The following directories should be shared by all app servers:
│ └── sitemap # rw shared - generated sitemaps
├── var
│ ├── cache # rw local - contains the containers, which contains additional cache directories (twig, translations, etc)
│ ├── log # a - append only, can be change in the monlog config
│ ├── log # a - append only, can be change in the monolog config

ro - Readonly after deployment
rw shared - read and write access, it should be shared across the app servers
Expand Down
2 changes: 1 addition & 1 deletion guides/installation/community/dockware.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Dockware images come in several versions, so you can choose the one which fits y
| :--- | :--- | :--- |
| dockware \#play | Launch Shopware in just a couple of seconds locally on your system. Test every functionality and play around while verifying your requirements. | `Production` |
| dockware \#dev | This is the solution for instant coding. Run Shopware 6, prepare your IDE and immediately start with your own customizations and plugins. Provides Xdebug, watchers or more. | `Production` |
| dockware \#contribute | This image supports Shopware 6 modification to contribute to the official Shopware 6 Github platform. Contains all dev tools and the already installed demo data. | `developement` |
| dockware \#contribute | This image supports Shopware 6 modification to contribute to the official Shopware 6 Github platform. Contains all dev tools and the already installed demo data. | `development` |
| dockware \#essentials | This is a plain Dockware environment without Shopware. | --- |
| dockware \#flex | This provides a flexible Apache and PHP container for all kinds of Symfony and Shopware projects. It is an image for individualization, e.g., you can manage the Shopware version on your own. | --- |

Expand Down
2 changes: 1 addition & 1 deletion guides/installation/legacy/valet.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Additionally, it registers Valet's daemon to launch when your system starts.
### Testing your installation

* Make sure `ping something.test` responds from 127.0.0.1.
* Run `nginx -t` or `sudo nginx -t` and check for any errors. If there is a missing *elastisearch* file, follow the "Missing Elasticsearch stub fix" further below.
* Run `nginx -t` or `sudo nginx -t` and check for any errors. If there is a missing *elasticsearch* file, follow the "Missing Elasticsearch stub fix" further below.

### Install Error: "*The process has been signaled with signal 9*"

Expand Down
2 changes: 1 addition & 1 deletion guides/integrations-api/general-concepts/api-versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ GET /api/test
sw-expect-packages: shopware/core:~6.4
```

This would expect that atleast Shopware with version 6.4 is installed.
This would expect that at least Shopware with version 6.4 is installed.

```text
GET /api/test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ The `includes` parameter allows you to restrict the returned fields.
}
}

// Reponse
// Response
{
"total": 120,
"data": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ To get more information on how to create configuration forms, see [Plugin Config
| time | `<sw-datepicker/>` |
| colorpicker | `<sw-colorpicker/>` |
| single-select | `<sw-single-select/>` |
| ulti-select | `<sw-multi-select/>` |
| multi-select | `<sw-multi-select/>` |

## Install the App

Expand All @@ -281,4 +281,4 @@ bin/console app:install --activate FlowBuilderActionApp
## Further steps

* [Flow action example configuration](../../../../resources/references/app-reference/flow-action-reference.md) page
* [Schema definiton for flow actions (GitHub)](https://github.com/shopware/platform/blob/trunk/src/Core/Framework/App/FlowAction/Schema/flow-action-1.0.xsd)`
* [Schema definition for flow actions (GitHub)](https://github.com/shopware/platform/blob/trunk/src/Core/Framework/App/FlowAction/Schema/flow-action-1.0.xsd)`
2 changes: 1 addition & 1 deletion guides/plugins/apps/payment.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ If you would just like to define another payment method like _advanced payment_

On the other hand, if you define a `pay-url`, you have the option to respond on this request with a different transaction status, for example `authorize`, `paid`or `fail`. This is useful if you would like to add a payment provider which only need the information the user has already provided in the checkout process and no additional information is required. This could be - for example - a simple credit check for payment upon invoice.

Below you can see an example for a simple answer from your app to mark a payment as authorized. You can see two methods, `checkSignature` and `sign`, for both of these see the section [Validation](payment.md#validation). The provided status should be the transistion name for the transaction based on the previous status `open`.
Below you can see an example for a simple answer from your app to mark a payment as authorized. You can see two methods, `checkSignature` and `sign`, for both of these see the section [Validation](payment.md#validation). The provided status should be the transition name for the transaction based on the previous status `open`.

```php
use Symfony\Component\HttpFoundation\Request;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ For a complete reference of the structure of the manifest file take a look at th

Following fields are required:

* `identifier`: A technical name for the condition that should be unique within the scope of the app. The name is being used to identifiy existing conditions when updating the app, so it should not be changed.
* `identifier`: A technical name for the condition that should be unique within the scope of the app. The name is being used to identify existing conditions when updating the app, so it should not be changed.
* `name`: A descriptive and translatable name for the condition. The name will be shown within the Rule Builder's selection of conditions in the Administration.
* `script`: The file name and extension of the file that contains the script for the condition. All scripts for rule conditions must be placed inside `Resources/scripts/rule-conditions` within the root directory of the app.

Expand Down Expand Up @@ -120,7 +120,7 @@ compare(operator, value, comparable)

The `operator` _must_ be one of the following string values: `=`, `!=`, `>`, `>=`, `<`, `<=`, `empty`

If either one or both of `value` and `comparable` are an array, then only `=` and `!=` should be used as operator. It will then compare whether there is at least one occurence of the value within the other array and return `true` if that is the case. As an example `value` might be an ID, `comparable` an array of IDs and you could use the function to match whether the ID is included in that array.
If either one or both of `value` and `comparable` are an array, then only `=` and `!=` should be used as operator. It will then compare whether there is at least one occurrence of the value within the other array and return `true` if that is the case. As an example `value` might be an ID, `comparable` an array of IDs and you could use the function to match whether the ID is included in that array.

### Example

Expand Down
2 changes: 1 addition & 1 deletion guides/plugins/plugins/administration/add-acl-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ Module.register('your-plugin-module', {
## Add your custom privileges

To make sure your custom privileges are additionally added to existing roles, override the `enrichPrivileges` method and return a list of your custom privileges.
This method should return an array with the technichal role name as key, while the privileges should be the array value.
This method should return an array with the technical role name as key, while the privileges should be the array value.
An event subscriber will add the plugins custom privileges at runtime.

```php
Expand Down
2 changes: 1 addition & 1 deletion guides/plugins/plugins/administration/add-menu-entry.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ You can find the parent id at the `index.js` file in each module folder. You can

## Nesting menu entries

The parent can be on any level because the menu supports infinite depth nesting. For example, if `sw-manufacturer` were taken as the `parent`, the menu item would be present on the third level. So whats important here is that the configured parent defines where the menu entry will take place.
The parent can be on any level because the menu supports infinite depth nesting. For example, if `sw-manufacturer` were taken as the `parent`, the menu item would be present on the third level. So what's important here is that the configured parent defines where the menu entry will take place.

{% hint style="info" %}
If you're planning to publish your plugin to the Shopware Store keep in mind we're rejecting plugins which have created their own menu entry on the first level.
Expand Down
2 changes: 1 addition & 1 deletion guides/plugins/plugins/administration/adding-snippets.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ The same `$tc` helper function can be used in the templates to access translatio

{% endraw %}

Another feature of `$tc` is pluralization. Use a `|` in snippets to provide translations dependending on the number. The first part shows singular expression, while the second takes care of plural cases.
Another feature of `$tc` is pluralization. Use a `|` in snippets to provide translations depending on the number. The first part shows singular expression, while the second takes care of plural cases.
Let's have a look at this example of `"examplePluralization": "One Product | {n} Products"` with the following implementation:

{% raw %}
Expand Down
10 changes: 5 additions & 5 deletions guides/plugins/plugins/administration/using-data-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ Shopware.Component.register('swag-basic-example', {
.then((product) => {
this.product = product;

this.product.manufacturerId = 'some-manufacturer-id'; // manually set the forign key y
this.product.manufacturerId = 'some-manufacturer-id'; // manually set the foreign key y

this.productRepository.save(this.product, Shopware.Context.api);
});
Expand All @@ -356,7 +356,7 @@ Shopware.Component.register('swag-basic-example', {

### Working with lazy loaded associations

In most cases, _ToMany_ associations can be loaded by adding a the association with the `.addAsscoiation()` method of the Criteria object.
In most cases, _ToMany_ associations can be loaded by adding a the association with the `.addAssociation()` method of the Criteria object.

```javascript
Shopware.Component.register('swag-basic-example', {
Expand All @@ -374,7 +374,7 @@ Shopware.Component.register('swag-basic-example', {
productRepository() {
return this.repositoryFactory.create('product');
},
productCritera() {
productCriteria() {
const criteria = new Criteria();
criteria.addAssociation('prices');

Expand All @@ -384,7 +384,7 @@ Shopware.Component.register('swag-basic-example', {

created() {
this.productRepository
.get('some-id', Shopware.Context.api, this.productCritera)
.get('some-id', Shopware.Context.api, this.productCriteria)
.then((product) => {
this.product = product;
});
Expand Down Expand Up @@ -449,7 +449,7 @@ Shopware.Component.register('swag-basic-example', {
const newPrice = this.priceRepository.create(Shopware.Context.api);

newPrice.quantityStart = 1;
// Note: there are more things requiered then just the quantityStart
// Note: there are more things required than just the quantityStart

this.priceRepository
.save(newPrice, Shopware.Context.api)
Expand Down
2 changes: 1 addition & 1 deletion guides/plugins/plugins/administration/using-vuex-state.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ All of this can be seen in the following code sample:

```javascript
beforeCreate() {
// registering the store to vuex trough the Shopware objects helper function
// registering the store to vuex through the Shopware objects helper function
// the first argument is the name the second the imported namespaced store
Shopware.State.registerModule('swagBasicState', swagBasicState);
},
Expand Down
6 changes: 3 additions & 3 deletions guides/plugins/plugins/api/multi-inventory.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ While this feature is supposed to be used by API first, i.e. by ERP systems, it

### Admin API

To create, modify or delete Warehouses, WarehouseGroups,etc, related to Multi-Inventory, you can access Admin API endpoints decscribed further.
To create, modify or delete Warehouses, WarehouseGroups etc., related to Multi-Inventory, you can access Admin API endpoints described further.

Meanwhile, refer to the following links regarding the general use of the Admin API:

Expand Down Expand Up @@ -71,7 +71,7 @@ The following examples contain payloads for typical use-cases of this feature. B
}
```

### Assigning WarehouseGroups to Products, creating ProductWarehouses via assocation
### Assigning WarehouseGroups to Products, creating ProductWarehouses via association

```json

Expand Down Expand Up @@ -142,7 +142,7 @@ Availability of Products is defined in 2 steps:
* WarehouseGroups can be assigned to Rules (Rule builder)
* If the rule is invalid, this Group will not be considered in calculating Product availability.
* Products/Warehouses can still be available via other groups.
* If multiple rules a valid, WarehosueGroups can be prioritized with their own priority, they are not tied to rule priority.
* If multiple rules are valid, WarehouseGroups can be prioritized with their own priority, they are not tied to rule priority.
* Products can have a stock per Warehouse
* All Warehouses inside an active WarehouseGroup are taken into account for calculating the total stock of a specific Product.
* Warehouses are unique, but can be assigned to multiple Groups (e.g. all Warehouses in the Group "Germany" can also be in the Group "Europe").
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Here's an example on how to set the order transaction from `open` to `in_progres
```php
$this->stateMachineRegistry->transition(new Transition(
OrderTransactionDefinition::ENTITY_NAME,
'<Order transaciton ID here>',
'<Order transaction ID here>',
'do_pay',
'stateId'
), $context);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ class ExamplePayment implements PreparedPaymentHandlerInterface

if (!$paymentData) {
// no payment data simulates an error response from our payment provider in this example
throw new ValidatePreparedPaymentException('Unkown payment for token ' . $token);
throw new ValidatePreparedPaymentException('Unknown payment for token ' . $token);
}

// other checks could include comparing the cart value with the actual payload of your PSP
Expand Down
Loading