Php как добавить элемент в конце ссылки ?
У меня есть сайт с Drupal 8.6 и Commerce 2.10
Как добавить элемент в конце url-адреса ?
С помощью пользовательского модуля ниже текущий путь выглядит следующим образом :
https://www.domaine.com/store/3
В ссылке ниже я хочу добавить в конце ссылки /cgv
https://www.domaine.com/store/3/cgv
Вот мой пользовательский модуль :
<?php namespace Drupal\commerce_agree_cgv\Plugin\Commerce\CheckoutPane; use Drupal\Component\Serialization\Json; use Drupal\Core\Form\FormStateInterface; use Drupal\commerce_checkout\Plugin\Commerce\CheckoutPane\CheckoutPaneBase; use Drupal\commerce_checkout\Plugin\Commerce\CheckoutPane\CheckoutPaneInterface; use Drupal\Core\Link; /** * Provides the completion message pane. * * @CommerceCheckoutPane( * id = "agree_cgv", * label = @Translation("Agree CGV"), * default_step = "review", * ) */ class AgreeCGV extends CheckoutPaneBase implements CheckoutPaneInterface { /** * {@inheritdoc} */ public function buildPaneForm(array $pane_form, FormStateInterface $form_state, array &$complete_form) { $store_id = 3; $pane_form['#attached']['library'][] = 'core/drupal.dialog.ajax'; $attributes = [ 'attributes' => [ 'class' => 'use-ajax', 'data-dialog-type' => 'modal', 'data-dialog-options' => Json::encode([ 'width' => 800, ]), ], ]; $link = Link::createFromRoute( $this->t('the general terms and conditions of business'), 'entity.commerce_store.canonical', ['commerce_store' => $store_id], $attributes )->toString(); $pane_form['cgv'] = [ '#type' => 'checkbox', '#default_value' => FALSE, '#title' => $this->t('I have read and accept @cgv.', ['@cgv' => $link]), '#required' => TRUE, '#weight' => $this->getWeight(), ]; return $pane_form; } }
Что я уже пробовал:
I think you have to add something to the line below, but I do not know what:
$link = Link::createFromRoute( $this->t('the general terms and conditions of business'), 'entity.commerce_store.canonical', ['commerce_store' => $store_id], $attributes )->toString();
If I change with ['commerce_store' => $store_id, '/cgv'] the link is not corect /store/3?0=/cgv
Кто может мне помочь ?
Если я заменю :
['commerce_store' => $store_id, '/cgv'],
около :
['commerce_store' => $store_id. '/cgv'],
У меня есть эта ошибка в моих журналах :
Symfony\Component\Routing\Exception\InvalidParameterException : Parameter "commerce_store" for route "entity.commerce_store.canonical" must match "\d+" ("3/cgv" given) to generate a corresponding URL. dans Drupal\Core\Routing\UrlGenerator->doGenerate() (ligne 204 de /var/www/www-domaine-com/web/core/lib/Drupal/Core/Routing/UrlGenerator.php).