namespace Drupal\permissions_by_term\Service;
use Drupal\Core\Database\Connection;
-use Drupal\taxonomy\Entity\Term as TermEntity;
+use Drupal\taxonomy\Entity\Term;
use Drupal\Component\Utility\Html;
/**
*
* @package Drupal\permissions_by_term\Service
*/
-class Term {
+class TermHandler {
/**
* The database connection.
private $database;
/**
- * @var TermEntity
+ * @var Term
*/
private $term;
/**
* @param string $sTermName
*
- * @return int
+ * @return int|null
*/
public function getTermIdByName($sTermName) {
$sTermName = Html::decodeEntities($sTermName);
$aTermId = \Drupal::entityQuery('taxonomy_term')
- ->condition('name', $sTermName)
+ ->condition('name', $sTermName . '%', 'LIKE')
->execute();
- $term = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load(key($aTermId));
- if ($term instanceof TermEntity) {
- $this->setTerm($term);
+ if (!empty($aTermId)) {
+ $term = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load(key($aTermId));
+ if ($term instanceof TermEntity) {
+ $this->setTerm($term);
+ }
+
+ return key($aTermId);
}
- return key($aTermId);
+ return null;
}
/**