https://www.spryker.com logo
Join Slack
Powered by
# help
  • m

    mammoth-autumn-37948

    11/18/2020, 8:25 AM
    Hi Guys, maybe someone can help me to understand what happened in our production server.. We have since yesterday a lot of SessionHandlerRedisLocking Exception..
    Copy code
    Yves.CRITICAL: Spryker\Shared\SessionRedis\Handler\Exception\LockCouldNotBeAcquiredException - Spryker\Shared\SessionRedis\Handler\SessionHandlerRedisLocking could not acquire access to the session 5b13e03e40f2f4ad90c2eeabcc4d60d8 in "/srv/www/production/htdocs/current/vendor/spryker/session-redis/src/Spryker/Shared/SessionRedis/Handler/SessionHandlerRedisLocking.php::97" {"exception":"[object] (Spryker\\Shared\\SessionRedis\\Handler\\Exception\\LockCouldNotBeAcquiredException(code: 0): Spryker\\Shared\\SessionRedis\\Handler\\SessionHandlerRedisLocking could not acquire access to the session 5b13e03e40f2f4ad90c2eeabcc4d60d8 at /srv/www/production/htdocs/current/vendor/spryker/session-redis/src/Spryker/Shared/SessionRedis/Handler/SessionHandlerRedisLocking.php:97)
    Redis Server seems to be ok and running. No log.. No downtime.. Why YVES can not lock the customer session in redis before it fetch the customer session data? What can be the possible reasons of this exception? Thank u in advance for helping me to find out the problem!
    s
    • 2
    • 5
  • q

    quiet-boots-16346

    11/23/2020, 12:34 PM
    Hello, I'd like to ask whether there is a Spryker bundle/module which handles terms of use (conditions, etc.), managing them, accepting them by the customer and so on. I didn't find it by looking at spryker/core Bundles but I'd rather ask before developing such module.
    d
    • 2
    • 4
  • a

    ancient-apartment-59274

    11/23/2020, 1:33 PM
    Hello, on our b2b 2020.9 shop we use product bundles. The stock + availability depends on the stock of each bundled product which makes absolutely sense to me. But since we dont want the single bundled products to be seen on the shop, we set them searchable=false and price = 0 (since they also don’t have a price when they are not sellable) … but the price for the bundle can be defined on the bundle itself. So i would expect that we see the price configured in the bundle. Instead on the PDP, we get a price of 0 <Currency> shown. So my first guess for this was that the bundled products single prices are used for calculation instead of the bundle price, so i changed one of the bundled items price from “0” to “123". Now we get an exception when adding this product bundle: “Invalid price given, natural integer expected.” (ProductBundleCartExpander:283) It seems that spryker is now iterating over each single item and each must have a price > 0. Since the other bundled products still have “0", the exception appears. When i change every single item to a price > 1, than i get the expected bundle price on PDP/Cart … Is this expected behaviour? Why do single item prices gets involved at all when we have a bundle price? Best
    d
    • 2
    • 3
  • a

    ancient-apartment-59274

    11/24/2020, 2:23 PM
    Hello everybody, does anybody has experience with faking/mocking external dependencies (like external api’s) in spryker? So what could be a clean approach for this? Best
    q
    w
    l
    • 4
    • 23
  • r

    rough-scientist-68683

    11/24/2020, 2:35 PM
    Happy Tuesday everyone, is there any way to describe the expected request body of a Glue endpoint with examples. I saw the documentation that says you can update the xml of the transfer objects and that describes the @Glue annotation. I tried using OpenApi documentation but nothing gave me what I wanted.
    i
    • 2
    • 2
  • a

    acoustic-painter-45206

    11/24/2020, 3:47 PM
    Hello everyone! We're experiencing some weird behaviour with our Spryker installation: If I'm opening the German version of the home page, everything runs just smooth, I have navigation menu, and a few blocks built by our frontend developer. However, when I switch it to any other language (English/IT/FR), navigation bar just vanishes, and part of these blocks too. Just take a look at the difference, same page, two languages. Right now I'm confused a little of why does it happen and how to investigate what was the root of the issue.
    p
    • 2
    • 2
  • a

    acoustic-painter-45206

    11/24/2020, 4:11 PM
    Another question I have: I'm trying to build the Glue API right now, but I'm struggling a little with post requests. According to documentation, I made the transfer object:
    Copy code
    <?xml version="1.0"?>
    <transfers xmlns="spryker:transfer-01"
               xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
               xsi:schemaLocation="spryker:transfer-01 <http://static.spryker.com/transfer-01.xsd>">
    
        <transfer name="NewsApiTransfer">
            <property name="id" type="integer" />
            <property name="wordpressId" type="integer" />
        </transfer>
    
    </transfers>
    And mapped it to the resource plugin:
    Copy code
    public function getResourceAttributesClassName(): string
        {
            return NewsApiTransfer::class;
        }
    I've made the controller and method:
    Copy code
    public function postAction(NewsApiTransfer $transfer)
        {
            dd($transfer);
        }
    Yet, while trying to call this API, I keep getting 400: Post data is invalid:
    i
    • 2
    • 3
  • j

    jolly-night-88032

    11/25/2020, 1:06 PM
    Hey.. is there a documentation about code buckets and how to use them properly? Or for what they can be used to manipulate store bundles
    q
    a
    • 3
    • 4
  • g

    gentle-exabyte-1757

    11/25/2020, 2:05 PM
    Hey there I'm somewhat stuck... I've implemented a GatewayController on the zed level. I think it is correctly located. However the routes does not seem to get registered. Is there anything else, that i have to do? Like registering the controller manually? or adding a route?
    w
    i
    • 3
    • 15
  • m

    mysterious-king-59256

    11/26/2020, 2:58 PM
    Hello, I am thinking how to pass context to the plugin. Situation is similar to
    \Spryker\Client\Catalog\CatalogClient::catalogSearch
    , but some plugins require parameters in constructor. Client module
    A
    has some logic, which runs plugins. This logic can be started by client method. Module
    B
    is using this logic with configured plugins, but these plugins require also data (parameters) from module
    B
    . Context cannot be passed through plugins executor, because each plugin can require completely different data. Currently I implemented it in a way that
    A's
    client accepts array of plugins as parameter and i create plugins in
    B's
    factory, but this doesn't seem good. Is there any option to pass data/context to dependency provider?
  • r

    rough-scientist-68683

    11/27/2020, 7:40 AM
    Good morning everyone, I want to create an XML export and started to implement a middleware connector for this. I thought I could use
    XmlOutputStreamPlugin
    for this but it doesn't work. I create it in the DependencyProvider and set the required options but when I execute the process it tells me that
    The required options "entityNodeName", "rootNodeName" are missing.
    I found out that the check is done at least two times. The first time the options I set are there and the second time they're not and thus the error. I can't find any documentation or examples online so I hope someone can help me 🙂
    s
    • 2
    • 2
  • m

    mammoth-vegetable-1248

    11/27/2020, 2:45 PM
    Greetings, Does anyone know how
    oms:check-timeouts
    can affect Storage Redis memory usage? Is there any chance that somehow it uses Storage Redis for temporary storing some data and drops it after it is executed?
    g
    • 2
    • 5
  • q

    quiet-boots-16346

    11/30/2020, 11:26 AM
    Hello, I am trying to call the Zed via Client using transfer object but seems like transfer object is lost during call. The error ends that Gateway controller didn't receive the data:
    Copy code
    Controller &quot;Pyz\Zed\Term\Communication\Controller\GatewayController::acceptAction()&quot; requires that you provide a value for the &quot;$termConsentTransfer&quot; argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one. in file /data/shop/development/current/vendor/symfony/http-kernel/Controller/ArgumentResolver.php on line 80
    GatewayController:
    Copy code
    public function acceptAction(TermConsentTransfer $termConsentTransfer)
    In my client I call the gateway as:
    Copy code
    $response = $this->zedRequestClient->call('/term/gateway/accept', $termConsentTransfer);
    I checked via xdebug and the transfer object is passed here (with data) and I've traced it until GuzzleHttp\Client where it got lost in debug because it's probably used in stream. Am I missing something here?
    a
    • 2
    • 3
  • q

    quiet-boots-16346

    12/01/2020, 12:32 PM
    Hello, I am trying to write tests for my Facade but I am getting the error when I run them
    Copy code
    [Spryker\Zed\Kernel\ClassResolver\Factory\FactoryNotFoundException] Spryker Kernel Exception
    Can not resolve TermBusinessFactory in Business layer for your module "Term"
    You can fix this by adding the missing Factory to your module.
    E.g. Pyz\Zed\Term\Business\TermBusinessFactory
    However, I have the TermBusinessFactory class:
    Pyz\Zed\Term\Business\TermBusinessFactory extends AbstractBusinessFactory
    . My codeception.yml looks like this:
    Copy code
    namespace: PyzTest\Zed\Term
    
    paths:
        tests: .
        data: _data
        support: _support
        log: _output
    
    coverage:
        enabled: true
        remote: false
        whitelist: { include: ['../../../../src/*'] }
    
    suites:
        Business:
            path: Business
            class_name: TermBusinessTester
            modules:
                enabled:
                    - Asserts
                    - \PyzTest\Shared\Testify\Helper\Environment
                    - \SprykerTest\Shared\Testify\Helper\ConfigHelper
                    - \SprykerTest\Shared\Testify\Helper\DependencyHelper
                    - \SprykerTest\Shared\Propel\Helper\TransactionHelper
                    - \SprykerTest\Shared\Testify\Helper\LocatorHelper:
                          projectNamespaces: ['Pyz']
    And it fails when I am trying to receive a facade in my FacadeTest:
    Copy code
    $termFacade = $this->tester->getLocator()->term()->facade();
    I'll post the screenshot of the Zed\Term module structure in the thread. The implementation itself works, so it looks like a test configuration for class resolvers.
    w
    a
    q
    • 4
    • 8
  • t

    tall-afternoon-47433

    12/01/2020, 2:15 PM
    Hello, we have an issue with reserved item calculation on our oms processes. All our states (except the very first one “New”) are defined in subprocesses and then included in main oms schema for each payment. Now initially the stock is reserver as it should be, but as soon as any of the order items reach state that does not have a reserved state, the whole reserved amount for that sku (all orders) is set to 0. And we tracked this issue to this:
    Spryker\Zed\Oms\Business\Reader\ReservationReader::sumReservedProductQuantitiesForSku()
    returns 0.
    getOmsReservedStateCollection()
    is retrieving reserved states with subprocesses loaded instead of main process. Because of this, 
    assertStateAndProcessExists()
     always return false because it tries to compare current main process name to a subprocess name.  We do not have any custom logic for reservations. Oms module version “11.10.0". Can anyone help us to resolve this issue? Are we missing any plugin configuration?
  • b

    busy-ram-12088

    12/01/2020, 2:24 PM
    Hello everyone! I have a question about Content management in Spryker. For our need is not enough to have this WYSIWYG-editor, so currently we use Styla partually integration. But for us also not enough to use Styla (https://www.styla.com/), because we want to make more integration with our products (dynamic prices and so on). My question is - who has an experience with upgrading this Spryker module to something sufisticated, so could be more like Styla or other Content management to edit a content?
  • l

    loud-rainbow-44827

    12/01/2020, 2:58 PM
    Hello. I have few questions about Glue API. 1. Is there any way to restrict API access for users? For example i want to give access only to orders API for certain user. How can i do it? As i see you have user roles but this only for backend users. And to access API with token you are using frontend users. 2. Why authentication is made using frontend users? Theoretically in this case each user, that has been registered in the shop can fetch any data using API. Even with access token. Or am I missing smth? Thanks
    i
    b
    +2
    • 5
    • 10
  • p

    purple-coat-90835

    12/07/2020, 1:24 PM
    Hi everyone, does anyone know a way to use Faker Modifiers (https://github.com/fzaninotto/Faker#modifiers) in Spryker's data builders for testing?
  • w

    wide-wolf-99519

    12/07/2020, 4:24 PM
    hello, I am experiencing a problem where I am stuck at redirection loop when I try accessing zed
    <http://zed.en.suite.local/auth/login?referer=%2Fauth%2Flogin%3Freferer%3D%252Fauth%252Flogin>
    /auth/login
    redirects me to
    /auth/login?referer=urlencode(/auth/login
    which takes me to
    /auth/login?referer=url_encode(/auth/login?referer=url_encode(/auth/login))
    and so on has anyone experienced anything similiar?
    p
    • 2
    • 5
  • w

    wide-wolf-99519

    12/08/2020, 12:07 PM
    hi, I have another one 🙂 I'm getting
    Exception: Duplicate table found: spy_auth_reset_password.
    while running
    propel:install
    I am currently trying to update the project to match spryker-shop/suite 1.7, and I might be getting this completely wrong, but it seems to me, that both spryker/auth (required) and spryker/user-reset-password (required by spryker/merchant-user) have this table in their schema, which causes the trouble Did anyone have similiar problem or could point me what am I doing wrong?
    l
    s
    • 3
    • 25
  • c

    crooked-house-89121

    12/09/2020, 8:50 AM
    Hello all, I am trying to add a cms_block to one of my cms pages. I added
    {{ cms_block(['blck-14']) }}
    to the bottom of the page, but it only shows an empty div in the html. I already searched through the channel and found some issues where the block in question is not migrated to the
    spy_cms_block_storage
    , but this is not the case for me. Has anyone had this issue or some advice how I can go about debugging this? Help would be much appreciated 🙂
    m
    • 2
    • 3
  • l

    little-secretary-81579

    12/09/2020, 11:35 AM
    Hi all, can somebody confirm there is a bug in the demo shop? In the AdressForm of AddressStep street, house number, postcode and city should be mandatory fields. However you can pass the step without entering values there. Upon placing the order you get redirected indefinetely due to a processing error.
    p
    a
    • 3
    • 15
  • w

    wide-wolf-99519

    12/10/2020, 8:44 AM
    hi, I come with another issue, I get an error prompt when going to
    <http://zed.en.suite.local/availability-gui>
    Ill add logs and error messages in replies
    a
    • 2
    • 7
  • g

    gray-engine-53418

    12/10/2020, 11:49 AM
    Hello everyone, We are encountering an issue when trying to write a large amount of data to RabbitMQ using the sync:data command. We call the command using an installer which has a timeout set to 10h. The sync:data process is killed by the timeout. We noticed a “stall” behaviour of the application, nothing happens on the database and RabbitMQ side and the sync process is still running. After investigating we noticed 2 things happening: • An exception is logged from php-amqplib (https://github.com/php-amqplib/php-amqplib/blob/9429243609cd40c2afab1d8bafc115188f8dc2f9/PhpAmqpLib/Wire/IO/StreamIO.php#L275), which means fwrite returned the result !== false but with a timeout in the metadata. • After the exception is logged the application is not exiting until is killed by the main process timeout. Our questions are: • Is there any way of getting rid of the timeout or some sort of retry mechanism in Spryker in case writing to RabbitMQ fails? • Do you have any idea why the process is not exiting when the exception occurs? This issue is happening only on production, we were not able to reproduce it yet on the dev machines. We hope someone else encountered this and managed to fix it. Thank you!
    p
    m
    m
    • 4
    • 19
  • w

    wide-wolf-99519

    12/10/2020, 2:43 PM
    hi again, there are couple places in zed panel, where I get CurrentMerchantUserNotFoundException with message 'Current merchant user was not found' would assigning user to a merchant be enough to solve this issue? can I assign admin user to merchant?
  • l

    little-secretary-81579

    12/10/2020, 3:00 PM
    Hi all, I need some advice in the following matter: It is possible to define an Elasticsearch config per store and so I can apply language specific analyzer and search_analyzer for fulltext search fields also per store. Each store has its own index in ES. However how do we deal with multi locale indexes? E.g. if an index for BE store would contain locales fr_BE and nl_BE?
  • i

    important-lunch-21173

    12/11/2020, 10:02 AM
    Hi I have changed the endpoints-port as described here https://app.slack.com/client/TH2HA6E6R/CMYFJCG2E/thread/CMYFJCG2E-1573552664.028700 This works fine but actually a few other developers of my team still work with defaul port 80. Now I can use the shop by adding the port 8080 to the URL but on every navigation the port is lost and I have to add it manually again. How can I add the port 8080 to the URL on every navigation/routing? Probably I need something similar to this -> https://stackoverflow.com/questions/54354193/change-the-host-and-port-generated-by-the-symfony-twig-url-helper
    • 1
    • 1
  • w

    wide-wolf-99519

    12/11/2020, 1:20 PM
    hey, I hava a problem few some assets being unavailable, returning 500 when I check in console, It results in blank page when I go to /product-offer-merchant-portal-gui/offers reasons seems to be "No route found for "GET /assets/js/mp/spy/product-offer-merchant-portal-gui-es2015.js"" example files are product-offer-merchant-portal-gui-es2015.js, zed-ui-es2015.js and couple others I've executed frontendprojectinstall-dependencies, frontendzedinstall-dependencies and frontendzedbuild and dont knwo what else could be done has anyone experienced something similiar or knows how could I fix that? thanks! 🙂
    s
    • 2
    • 22
  • w

    wide-wolf-99519

    12/11/2020, 1:24 PM
    also (probably unrelated to previous one) I get "CSRF token is not valid!" in couple of places the rule here seems to be that actions executed from lists cause this error for example I could click "Edit" on users list and change user status but when I click "Activate" on users list I get invalid CSRF token
  • s

    silly-motherboard-93855

    12/14/2020, 12:58 PM
    QQ: https://github.com/spryker-shop/shop-ui/commit/66de06aa35bab12efa6e0ec5a363be299acc0ada leads to
    Copy code
    Module not found: Error: Can't resolve 'password-validator' in '/vendor/spryker-shop/shop-ui/src/SprykerShop/Yves/ShopUi/Theme/default/components/molecules/password-complexity-indicator'
    where was this package (
    password-validator
    ) added?
    a
    m
    +2
    • 5
    • 22
1...282930...102Latest