B2Bsellers Suite
API Referenceswww.b2b-sellers.comPublic demoshopRoadmap
Beta < 0.9.X
Beta < 0.9.X
  • Home
  • Products & Configuration
    • Plans & Plugin Concept
    • Demoshops
    • B2Bseller Suite - CORE Plugin
      • CORE-Plugin Configuration
      • B2B Flow/Business Events
      • B2B Rules
      • B2B Body Classes
      • B2bContextTrait
      • B2bPlatformContext
      • Registration process
      • UseCustomer URL Parameter
      • How to add „Menü Item“ on B2BPlattform
      • EmployeePermissionTrait
      • Express checkout setup
    • B2Bseller Suite - purchasable Addons
      • Offer Function for Sales Agents
      • Spare Parts Shop
      • Subscription Article
      • Copper and brass product surcharges
      • Rating groups
      • B2B Platform Theme
      • E-Procurement (OCI,EDI,Ariba, Punchout)
      • Register Requests
      • Order lists
      • Bonus program
      • Product Request
      • URL Authentication
      • Cost centers
      • Training or e-learning - event articles with attendee registration
    • B2Bsellers Suite - Connectors
      • Import Customers and Employees from an external REST-API OR CSV
      • Import Orders from an external REST-API (ERP)
      • Import Customer Prices from an external REST-API
      • POST Register Request to an external REST-API
    • Third Party Extensions
      • Parent products in the listing
  • Guides
    • Setup
      • Installation
      • Requirements
      • Dockware Setup (Docker)
      • Use Test-Customers
      • Cronjobs
      • CLI-Commands
      • How to start the b2b-platform vue.js watcher
    • Developer Onboarding
      • Development Helpers
    • Own Extensions
      • Concept of Extensions
      • How to develop your own extensions
      • How to extend the b2b platform
      • Example Plugins
    • Migration
    • Tips for Deployment / Continuous Integration
    • Performance
    • Guides for ERP-Interface
      • Overview - Full integrated ERP-Systems
      • Integration of ERP orders to Shopware 6
      • Integration Customers and Employees from ERP
  • Ressources
    • Usable Components
      • Vue.js - B2B Platform
      • Storefront
    • E-Mail Templates
    • FAQs
    • Support
  • API-References
    • Database Schema
    • Store-API
      • Account Request
      • Customer Activity
      • Customer Activity Type
      • Customer Last Orders
      • Customer List
      • Customer Price
      • Customer Sales Ranking
      • Customer Search
      • Delivery Interval
      • Delete Product Subscription
      • Document
      • Employee
      • Employee Permission
      • Employee Role
      • Employee Order
      • Event Product
      • Login Target List
      • Offer Document
      • Offer
      • Offer Mail
      • Offer Order
      • Offer Status
      • Ordered Products
      • Payment Condition
      • Platform Cms
      • Product List
      • Product Table Listing
      • Product Subscription
      • Product Subscription List
      • Sales Statistic
      • Snippet
    • Entities
      • Custom Fields for existing Shopware Entities
      • Budget
      • BudgetEmployee
      • CollectionAccount
      • CustomerPrice
      • Employee
        • EmployeeCustomer
        • EmployeePermission
        • EmployeeRole
      • CustomerActivity
        • CustomerActivityType
      • Offer
        • OfferAddress
        • OfferCustomer
        • OfferItem
        • OfferStatus
      • ProductSubscription
      • ProductSubscriptionOrder
      • PasswordlessLogin
      • PaymentCondition
      • ProductExplodedView
      • B2bProductList
        • B2bProductListItem
        • B2bProductListType
      • RegisterRequest
        • RegisterRequestStatus
        • RegisterRequestActivity
      • SalesRepresentativeCustomer
    • Admin API
      • Order Import Endpoint
  • Release Notes
    • B2BsellersCore
      • Version v0.9.6
      • Version v0.9.5
      • Version v0.9.4
      • Version v0.9.3
      • Version v0.9.2
      • Version v0.9.1
    • B2BOffer (Archived)
      • Version v0.9.1
Powered by GitBook
On this page

Was this helpful?

  1. Products & Configuration
  2. B2Bseller Suite - CORE Plugin

B2bContextTrait

Last updated 2 years ago

Was this helpful?

What are PHP Traits?

Since PHP 5.4.0, there is a method of reusing code in PHP called traits. Traits is a mechanism for reusing code that is used in programming languages with simple inheritance such as PHP.

Why is the B2bContextTrait useful for your individual extension?

With the B2bContextTrait you can make in your PHP Code a simple function to distinguish the customer ("Customers"). Is the logged-in customer an end customer, an employee/user of a customer or is he a sales employee, you can also query whether the sales employee is currently logged into an end customer.

What are the possible functions:

Function
Description

hasB2bPlatformContext

Is the B2BPlatformContext set. This means whether the customer/user is logged in and is either a customer user or a sales employee.

getB2bPlatformContext

Return of the B2BPlatform Context (Type: B2bPlatformContext)

isLoggedInAsSalesRepresentative

Is a sales employee logged in.

isLoggedInAsEmployee

Is the logged-in user a user/employee of a customer.

getEmployee

Return of all employee fields (type: EmployeeEntity)

isSalesRepresentativeLoggedInAsCustomer

Is a sales employee currently logged into a customer employee.

customerIsSalesRepresentative

Always returns true: when you are logged in as a sales agent and when you are logged in to a customer as a sales agent

Note (Alert):

You must always hand over the SalesChannelContext as a parameter.

How can you use our B2bContextTrait in your Shopware extension?

With the "use" function you can add the trait to any PHP class...

And then call the classes from the trait via $this->[function-name].