Download the PHP package webx-ui/module-team without Composer

On this page you can find all versions of the php package webx-ui/module-team. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package module-team

webx-ui/module-team

The team as a section of the WebX UI admin panel: people with a photo, a name, a job title, a short text and their social links — and, when the site has services, the services each of them provides. Shown on any page as a block (a grid, a slider or a list) and in the site's own templates through team().

The module has no public route and no page of its own. A person reaches the site in a block: "our doctors" as a grid on the About page, "who does this" as a list on a service's page. The page brings the address, the SEO and the menu entry; the module brings the people.

Requirements

Install

The last line puts the offered block type Team on the site and publishes it. A type the site already has under the slug team is left alone: the site may have rewritten it. webx:setup runs this line by itself for a new site.

Permissions: team.view, team.manage. The section is one entry of the panel's menu, Team, at the top level.

A person

Field Stored as
photo the value of a wx-media field — a library key, never an address
name translatable; required in the default language — the one required field
job_title translatable
text translatable plain text; printed with its line breaks
socials [{ network, url }] in the editor's order; http:// or https:// only
services a wx-relations field on service; there only when module-services is
published the whole of a person's life: no draft, no history; the bin brings them back
position the one order there is — the team has no categories, so there is no second order

Languages. Nobody is hidden over a language. A name or a job title that is not written in the language is taken from the default one; a text that is not written in it is simply not printed — the person is shown without it. Hiding a doctor from the Russian page over one untranslated paragraph would be losing them.

Anything else — experience, education, certificates, the days they see patients — is the site's own field, patched onto the screen team.form into the card project-fields. It is stored in extra and reaches the card under fields.

Social networks

The networks a link may point at are the config webx-team.networks, key → name:

The select of the form takes its options from here (the provider lays them over the screen with a patch), and the server checks a link against the same options — so a network the site adds is one line of config. Names are brands and are not translated. A network taken out of the list drops out of every card on the site and stays in the database: put it back, and the links come back.

A row of the form with neither a network nor an address is dropped on save; a row with only one of the two, an address that is not http(s):// or a network that is not on the list is refused under that row's field. A link the person already has to a network taken off the list is kept as it is: the form sends it back the way it opened it, and a save is not refused over it.

Two roads into a template

The block. The offered type has a wx-collection field on the team source. The editor of the page chooses a limit and, when the site has services, "only related to" — some services, or the service of this page. The template gets the people already read:

team(). A template of the site, or a block that wants something the field does not do, asks for them itself:

Step What it does
relatedTo($t, $ids) only those related to these records ('service', an id or a model)
only([12, 7]) these and no others, in this order
except($member) all but these
take(6) at most six; null or zero — all
locale('uk') the language of the cards; by default the one the page is drawn in
get(), first() a list of cards, or one; the query itself can be looped and counted

relatedTo() with an empty list is nobody, not everybody. There is no in() and no categories(): the team has no categories.

Both roads hand over the same card:

A list of any length is the same few queries. team() is declared only if the site has no function of that name; php artisan webx:doctor says whose it is.

The Team block

The type is a document in resources/blocks/team.json, the same format as webx:blocks:export: a heading, the team collection, a layout, columns for a grid and a slider, autoplay for a slider, and hide_text — off, the untouched state, shows the text.

No markup. Person needs a page of the person to hang on, and there is none.

A target for other modules

A person is a relation target under the key team-member: a module that wants "the reviews of this doctor" adds a wx-relations field with "target": "team-member" to its screen, and the picker offers the team with their job titles and photos. The module itself points at nobody on the team.

The panel's API

Under the panel's API path, behind team.view to read and team.manage to write:

A row is { id, name, job_title, initials, photo: { thumb } | null, published, position, updated_at, deleted_at }; member is { id, name, published, deleted_at }.

MCP

With webx-ui/mcp serving the panel to an agent, the section is six tools behind team:read and team:write — the same list, form and order code as the panel:

Tool What it does
team_list Everybody in the order of the site, or words — or the bin
team_get One person in full: every language, the links, the services, the extra
team_create A person at the end of the team; unpublished unless asked
team_update The values — on the site at once, the team has no draft
team_delete To the bin
team_reorder The one order — the people named first, the rest where they were

A person is named by their id only — names repeat. A plain string in name, job_title or text is the default language. photo is a library key; a key the library does not have is refused. socials is the whole list of { network, url }; a network the site does not have is refused with the list of those it has, and a link the person already has to a network taken off the list goes back as it came. services takes ids or addresses and is offered only when webx-ui/module-services is installed. Every change takes dry_run: true, and team_create is one transaction: a refusal leaves nobody behind.

The resource team://catalog is what an agent reads first: the networks the site accepts, and everybody in order — unpublished people included and marked — with the languages their text is written in and the services they are linked to.

Demo

php artisan webx:demo seeds six people from resources/demo/team.json, in English and Russian as far as the site has them: one not published, one without a Russian text (shown on the Russian page without it), three with social links — one of them to a network the config does not have, stored and left off the card. No photos: the block draws the initials. The offered block type is installed if the site has not taken it, and then:

The demo needs the library's demo first, and the pages' and services' when they are installed. webx:demo --remove takes all of it back out. A team that already has anybody in it is left alone.

License

MIT


All versions of module-team with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
illuminate/contracts Version ^13.0
illuminate/database Version ^13.0
illuminate/http Version ^13.0
illuminate/routing Version ^13.0
illuminate/support Version ^13.0
webx-ui/localization Version ^0.56.0
webx-ui/mcp Version ^0.56.0
webx-ui/module-admin Version ^0.56.0
webx-ui/module-blocks Version ^0.56.0
webx-ui/module-media Version ^0.56.0
webx-ui/routing Version ^0.56.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package webx-ui/module-team contains the following files

Loading the files please wait ...